Detailseite
Seeding Bugs to Find Bugs
Antragsteller
Professor Dr.-Ing. Andreas Zeller, Ph.D.
Fachliche Zuordnung
Softwaretechnik und Programmiersprachen
Förderung
Förderung von 2011 bis 2014
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 192420900
How good is my test suite? This question can be answered by mutation testing—seeding artificial bugs (mutations) in a program and assessing whether the test suite detects them. If the test suite fails to detect mutations, it probably will also fail to detect real defects. Unfortunately, not all mutants are good defects – some are semantically equivalent and cannot be detected by any possible test. Revealing these equivalent mutants is an undecidable problem and has to be done manually. Therefore, we propose to rank mutants by their impact: A mutant with a high impact on the program execution is more likely to be detectable. Focusing on high-impact mutants makes mutation testing applicable to real-world programs—for the first time since its invention 30 years ago. Mutation testing is not only useful for assessing test suites, but also for generating test suites. We propose to specifically generate test cases that detect seeded mutations with high impact. The resulting test suite thus is optimized towards finding serious defects rather than covering code. In addition, state change caused by mutations induces oracles that precisely detect the mutants. Early results on real-world programs demonstrate the feasibility and the potential of the approach.
DFG-Verfahren
Sachbeihilfen
Beteiligte Person
Professor Dr. Gordon Fraser