Efficient mutation testing by checking invariant violations

Download: PDF.

“Efficient mutation testing by checking invariant violations” by David Schuler, Valentin Dallmeier, and Andreas Zeller. In ISSTA 2009, Proceedings of the 2009 International Symposium on Software Testing and Analysis, (Chicago, IL, USA), July 2009, pp. 69-80.

Abstract

Mutation testing measures the adequacy of a test suite by seeding artificial defects (mutations) into a program. If a mutation is not detected by the test suite, this usually means that the test suite is not adequate. However, it may also be that the mutant keeps the program's semantics unchanged-and thus cannot be detected by any test. Such equivalent mutants have to be eliminated manually, which is tedious.

We assess the impact of mutations by checking dynamic invariants. In an evaluation of our JAVALANCHE framework on seven industrial-size programs, we found that mutations that violate invariants are significantly more likely to be detectable by a test suite. As a consequence, mutations with impact on invariants should be focused upon when improving test suites. With less than 3% of equivalent mutants, our approach provides an efficient, precise, and fully automatic measure of the adequacy of a test suite.

Download: PDF.

BibTeX entry:

@inproceedings{SchulerDZ2009,
   author = {David Schuler and Valentin Dallmeier and Andreas Zeller},
   title = {Efficient mutation testing by checking invariant violations},
   booktitle = {ISSTA 2009, Proceedings of the 2009 International
	Symposium on Software Testing and Analysis},
   pages = {69--80},
   address = {Chicago, IL, USA},
   month = jul,
   year = {2009}
}

Back to Publications whose methodology uses invariant detection.