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