Log In Sign Up

Freeing Testers from Polluting Test Objectives

by   Michaël Marcozzi, et al.

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 testers' effort. This work introduces a sound and scalable formal technique able to prune out a significant part of the infeasible and redundant objectives produced by a large panel of white-box criteria. In a nutshell, we reduce this challenging problem to proving the validity of logical assertions in the code under test. This 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 tool can prune out up to 27 applications of 200K lines of code.


page 1

page 2

page 3

page 4


Dynamic Mutant Subsumption Analysis using LittleDarwin

Many academic studies in the field of software testing rely on mutation ...

An Efficient Black-Box Support of Advanced Coverage Criteria for Klee

Dynamic symbolic execution (DSE) is a powerful test generation approach ...

Towards Efficient Data-flow Test Data Generation Using KLEE

Dataflow coverage, one of the white-box testing criteria, focuses on the...

Confounder Selection: Objectives and Approaches

Confounder selection is perhaps the most important step in the design of...

Automated Isolation for White-box Test Generation

Context. White-box test generation is a technique used for automatically...

Elementary Interactions An Approach in Decision Tool Development

Multi-Criteria Decision Analysis (MCDA) is an established methodology to...