Mutation-Driven Generation of Unit Tests and Oracles
Authors:
Top Cited Papers
- 15 September 2011
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 38 (2) , 278-292
Abstract
To assess the quality of test suites, mutation analysis seeds artificial defects (mutations) into programs; a nondetected mutation indicates a weakness in the test suite. We present an automated approach to generate unit tests that detect these mutations for object-oriented classes. This has two advantages: First, the resulting test suite is optimized toward finding defects modeled by mutation operators rather than covering code. Second, the state change caused by mutations induces oracles that precisely detect the mutants. Evaluated on 10 open source libraries, our μtest prototype generates test suites that find significantly more seeded defects than the original manually written test suites.Keywords
This publication has 55 references indexed in Scilit:
- Search based software testing of object-oriented containersInformation Sciences, 2008
- JCrasher: an automatic robustness tester for JavaSoftware: Practice and Experience, 2004
- Search‐based software test data generation: a surveySoftware Testing, Verification and Reliability, 2004
- Testability transformationIEEE Transactions on Software Engineering, 2004
- A Critique and Improvement of the "CL" Common Language Effect Size Statistics of McGraw and WongJournal of Educational and Behavioral Statistics, 2000
- A Strategy for using Genetic Algorithms to Automate Branch and Fault-based TestingThe Computer Journal, 1998
- An experimental determination of sufficient mutant operatorsACM Transactions on Software Engineering and Methodology, 1996
- A methodology for controlling the size of a test suiteACM Transactions on Software Engineering and Methodology, 1993
- Investigations of the software testing coupling effectACM Transactions on Software Engineering and Methodology, 1992
- Constraint-based automatic test data generationIEEE Transactions on Software Engineering, 1991