DocumentCode :
2075200
Title :
From behaviour preservation to behaviour modification: constraint-based mutant generation
Author :
Steimann, Friedrich ; Thies, Andreas
Author_Institution :
Lehrgebiet Programmiersysteme, FernUniv. in Hagen, Hagen, Germany
Volume :
1
fYear :
2010
fDate :
2-8 May 2010
Firstpage :
425
Lastpage :
434
Abstract :
The efficacy of mutation analysis depends heavily on its capability to mutate programs in such a way that they remain executable and exhibit deviating behaviour. Whereas the former requires knowledge about the syntax and static semantics of the programming language, the latter requires some least understanding of its dynamic semantics, i.e., how expressions are evaluated. We present an approach that is knowledgeable enough to generate only mutants that are both syntactically and semantically correct and likely exhibit non-equivalent behaviour. Our approach builds on our own prior work on constraint-based refactoring tools, and works by negating behaviour-preserving constraints. As a proof of concept we present an enhanced implementation of the Access Modifier Change operator for Java programs whose naive implementations create huge numbers of mutants that do not compile or leave behaviour unaltered. While we cannot guarantee that our generated mutants are non-equivalent, we can demonstrate a considerable reduction in the number of vain mutant generations, leading to substantial temporal savings.
Keywords :
Java; constraint handling; programming language semantics; software maintenance; software tools; Java programs; access modifier change operator; behaviour modification; behaviour preservation; constraint-based mutant generation; constraint-based refactoring tools; dynamic semantics; mutation analysis; program mutation; static programming language semantics; Java; Optimization; Program processors; Programming; Semantics; Syntactics; Testing; accessibility; constraints; mutation analysis; object-oriented programming; refactoring; testing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering, 2010 ACM/IEEE 32nd International Conference on
Conference_Location :
Cape Town
ISSN :
0270-5257
Print_ISBN :
978-1-60558-719-6
Type :
conf
DOI :
10.1145/1806799.1806862
Filename :
6062110
Link To Document :
بازگشت