Efficient Mutation Testing by Checking Invariant Violations - ISSTA 2009
by David Schuler, Valentin Dallmeier, Andreas Zeller

ISSTA '09: Proceedings of the 18th International Symposium on Software Testing and Analysis, Pages 69-80, July 2009.

Digital Library via DOI: 10.1145/1572272.1572282 - Local copy: Download as PDF file.

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.

BibTeX Entry

@inproceedings{schuler-issta-2009,
    title = "Efficient Mutation Testing by Checking Invariant Violations",
    author = "David Schuler and Valentin Dallmeier and Andreas Zeller",
    year = "2009",
    month = jul,
    booktitle = "ISSTA '09: Proceedings of the 18th International Symposium on Software Testing and Analysis",
    pages = "69--80",
    doi = "10.1145/1572272.1572282",
}

Show all publications of the Software Engineering Chair.