Research in Mutation Testing
Mutation testing is an active research area. Here are some ideas from the the August-November 2015 Special Issue on Mutation Testing of the Journal of Software Testing, Verification and Reliability.
Reducing Execution Costs
- Compute statement coverage for all test cases. Only test a particular mutant for test cases that cover the mutated statement.
Reducing mutation costs through uncovered mutants (pages 464–489)
Pedro Reales Mateo and Macario Polo Usaola
Article first published online: 15 MAY 2014 | DOI: 10.1002/stvr.1534 Thumbnail image of graphical abstract
Mutant Schema Improved with extra Code (MUSIC) annotates the statements covered by test cases in the original program. Later, when mutants are executed, the execution engine avoids going through uncoverable mutants. Our empirical results prove that music is an efficient cost reduction technique.
Higher accuracy and lower run time: efficient mutation analysis using non-redundant mutation operators (pages 490–507)
René Just and Franz Schweiggert
Article first published online: 11 DEC 2014 | DOI: 10.1002/stvr.1561
This paper studies redundancies in commonly used mutation operators and provides non-redundant versions of the conditional operator replacement, unary operator insertion, and relational operator replacement mutation operators. The empirical study in this paper shows how the inclusion redundant mutants affect the efficiency and accuracy of mutation analysis. In summary, the total mutation analysis run time decreased by more than 20% by removing redundant mutants, and the inclusion of redundant mutants led to an overestimated mutation score for all analyzed test suites.
Employing second-order mutation for isolating first-order equivalent mutants (pages 508–535)
Marinos Kintis, Mike Papadakis and Nicos Malevris
Article first published online: 21 APR 2014 | DOI: 10.1002/stvr.1529
This paper presents a new technique to tackle the equivalent mutant problem. The salient feature of this approach is the employment of higher-order mutation in the classification process. More precisely, the classification scheme utilises code coverage information and second-order mutation to classify a given set of first-order mutants as possibly killable or possibly equivalent ones. The results suggest that the proposed method outperforms its predecessors with respect to the recall metric, without significant loss of classification precision.