Laura Inozemtseva

Using Fault History to Improve Mutation Reduction

Laura Inozemtseva, Hadi Hemmati and Reid Holmes

Presented at FSE 2013

"Reducing the cost of mutation testing without reducing its usefulness is an interesting and useful problem. While preliminary, this work shows some nice initial progress on the problem." --Reviewer 1

Abstract

Mutation testing can be used to measure test suite quality in two ways: by treating the kill score as a quality metric, or by treating each surviving, non-equivalent mutant as an indicator of an inadequacy in the test suite. The first technique relies on the assumption that the mutation score is highly correlated with the suite's real fault detection rate, which is not well supported by the literature. The second technique relies only on the weaker assumption that the "interesting" mutants (i.e., the ones that indicate an inadequacy in the suite) are in the set of surviving mutants. Using the second technique also makes improving the suite straightforward.

Unfortunately, mutation testing has a performance problem. At least part of the test suite must be run on every mutant, meaning mutation testing can be too slow for practical use. Previous work has addressed this by reducing the number of mutants to evaluate in various ways, including selecting a random subset of them. However, reducing the set of mutants by random reduction is suboptimal for developers using the second technique described above, since random reduction will eliminate many of the interesting mutants.

We propose a new reduction method that supports the use of the second technique by reducing the set of mutants to those generated by altering files that have contained many faults in the past. We performed a pilot study that suggests that this reduction method preferentially chooses mutants that will survive mutation testing; that is, it preserves a greater number of interesting mutants than random reduction does.

Supplementary Material

PDF of the paper

DOI

PDF of the poster

BibTeX

@inproceedings{IHH13,
    author={Inozemtseva, Laura and Hemmati, Hadi and Holmes, Reid},
    title={Using Fault History to Improve Mutation Reduction},
    booktitle={Proceedings of the Symposium on the Foundations of Software Engineering},
    year={2013},
    pages={639--642},
    note={Accepted to the FSE New Ideas track},
}