Testing is the primary approach for detecting software defects. A major challenge faced by testers lies in crafting efficient test suites, able to detect a maximum number of bugs with manageable effort. To do so, they rely on coverage criteria, which define some precise test objectives to be covered. However, many common criteria specify a significant number of objectives that occur to be infeasible or redundant in practice, like covering dead code or semantically equal mutants. Such objectives are well-known to be harmful to the design of test suites, impacting both the efficiency and precision of the tester’s effort. This work introduces a sound and scalable technique to prune out a significant part of the infeasible and redundant objectives produced by a panel of white-box criteria. In a nutshell, we reduce this task to proving the validity of logical assertions in the code under test. The technique is implemented in a tool that relies on weakest-precondition calculus and SMT solving for proving the assertions. The tool is built on top of the Frama-C verification platform, which we carefully tune for our specific scalability needs. The experiments reveal that the pruning capabilities of the tool can reduce the number of targeted test objectives in a program by up to 27% and scale to real programs of 200K lines, making it possible to automate a painstaking part of their current testing process.
Slides (icse2018.pdf) | 2.8MiB |
Thu 31 May Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:30: Test ImprovementTechnical Papers at Congress Hall Chair(s): Yves Le TraonUniversity of Luxembourg | |||
11:00 - 11:20 Talk | DeFlaker: Automatically Detecting Flaky Tests Technical Papers Jonathan BellGeorge Mason University, Owolabi LegunsenUniversity of Illinois at Urbana-Champaign, Michael HiltonCarnegie Mellon University, USA, Lamyaa Eloussi, Tifany Yung, Darko MarinovUniversity of Illinois at Urbana-Champaign Pre-print Media Attached | ||
11:20 - 11:40 Talk | DetReduce: Minimizing Android GUI Test Suites for Regression Testing Technical Papers Wontae Choi, Koushik SenUniversity of California, Berkeley, George NeculaUniversity of California, Berkeley, Wenyu WangUniversity of Illinois at Urbana-Champaign | ||
11:40 - 12:00 Talk | Time to Clean your Test Objectives Technical Papers Michaël MarcozziImperial College London, Sébastien Bardin, Nikolai Kosmatov, Mike PapadakisUniversity of Luxembourg, Virgile Prevosto, Loïc Correnson Link to publication DOI File Attached | ||
12:00 - 12:20 Talk | Prioritizing Browser Environments for Web Application Test Execution Technical Papers Junghyun Kwon, In-Young KoKorea Advanced Institute of Science and Technology, Gregg RothermelUniversity of Nebraska - Lincoln | ||
12:20 - 12:30 Talk | Q&A in groups Technical Papers |