Abstract
Context: Program mutation testing is a technique for measuring and generating high quality test data. However, traditional mutation operators are not necessarily efficient or effective. We address three specific issues. One, test data that kills all mutants generated by current mutation tools can still miss detection of some common logic faults because such tools lack appropriate logic mutation operators. Two, the number of mutants generated is often unnecessarily large. Three, many equivalent mutants can be generated and these can be difficult to eliminate. Objective: This paper explores the idea of addressing these issues by selectively generating only specially engineered subsuming higher order logic mutants. However, such an approach is only useful if a test set that kills all such mutants also kills a high percentage of general mutants. Method: An empirical study was conducted using a tool that generates only subsuming higher order logic mutants and tools that generate general mutants. Both Java code and SQL were used as the source under test. Results and conclusions: For both the software and queries, tests killing all the subsuming higher order mutants killed a high percentage of general mutants while reducing both the number of mutants and the number of equivalent mutants. The conclusion is that, for the test subjects studied, subsuming higher order logic mutation is an effective approach to selective mutation for programs and queries.
| Original language | English |
|---|---|
| Pages (from-to) | 1137-1152 |
| Number of pages | 16 |
| Journal | Information and Software Technology |
| Volume | 53 |
| Issue number | 10 |
| DOIs | |
| State | Published - Oct 2011 |
Keywords
- Database query testing
- Disjunctive Normal Form
- Mutation testing
- Software logic testing
Fingerprint
Dive into the research topics of 'A logic mutation approach to selective mutation for programs and queries'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver