TY - GEN
T1 - Static analysis of mutant subsumption
AU - Kurtz, Bob
AU - Ammann, Paul
AU - Offutt, Jeff
N1 - Publisher Copyright: © 2015 IEEE.
PY - 2015/5/13
Y1 - 2015/5/13
N2 - Mutation analysis generates a large set of variants, or mutants, and then demands a test set that distinguishes each variant from the original artifact. It has long been apparent that many mutants contribute little, if anything, to the subsequent test set. Researchers have developed various approaches to separate valuable mutants from redundant mutants. The notion of subsumption underlies several such approaches. Informally, one mutant subsumes another if tests that kill the first also kill the second. Computing subsumption relations is, not surprisingly, undecidable. Recent work formalized the notion of a mutant subsumption graph (MSG) and showed that root nodes in the MSG precisely identify mutants that are not redundant. To address the decidability issue, we first defined the dynamic subsumption graph as an approximation to the MSG. This paper continues by showing how symbolic execution can be used to construct static subsumption graphs. While symbolic execution has some distinct shortcomings, we show how we can mitigate these problems with a hybrid approach that extracts test cases from the analysis process and re-evaluates the subsumption graph dynamically.
AB - Mutation analysis generates a large set of variants, or mutants, and then demands a test set that distinguishes each variant from the original artifact. It has long been apparent that many mutants contribute little, if anything, to the subsequent test set. Researchers have developed various approaches to separate valuable mutants from redundant mutants. The notion of subsumption underlies several such approaches. Informally, one mutant subsumes another if tests that kill the first also kill the second. Computing subsumption relations is, not surprisingly, undecidable. Recent work formalized the notion of a mutant subsumption graph (MSG) and showed that root nodes in the MSG precisely identify mutants that are not redundant. To address the decidability issue, we first defined the dynamic subsumption graph as an approximation to the MSG. This paper continues by showing how symbolic execution can be used to construct static subsumption graphs. While symbolic execution has some distinct shortcomings, we show how we can mitigate these problems with a hybrid approach that extracts test cases from the analysis process and re-evaluates the subsumption graph dynamically.
KW - Mutation
KW - subsumption
KW - symbolic execution
UR - https://www.scopus.com/pages/publications/84934326145
U2 - 10.1109/ICSTW.2015.7107454
DO - 10.1109/ICSTW.2015.7107454
M3 - Conference contribution
T3 - 2015 IEEE 8th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2015 - Proceedings
BT - 2015 IEEE 8th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2015 - Proceedings
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2015 8th IEEE International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2015
Y2 - 13 April 2015 through 17 April 2015
ER -