DocumentCode
185622
Title
Mutations: How Close are they to Real Faults?
Author
Gopinath, Rahul ; Jensen, Carlos ; Groce, Alex
fYear
2014
fDate
3-6 Nov. 2014
Firstpage
189
Lastpage
200
Abstract
Mutation analysis is often used to compare the effectiveness of different test suites or testing techniques. One of the main assumptions underlying this technique is the Competent Programmer Hypothesis, which proposes that programs are very close to a correct version, or that the difference between current and correct code for each fault is very small. Researchers have assumed on the basis of the Competent Programmer Hypothesis that the faults produced by mutation analysis are similar to real faults. While there exists some evidence that supports this assumption, these studies are based on analysis of a limited and potentially non-representative set of programs and are hence not conclusive. In this paper, we separately investigate the characteristics of bug-fixes and other changes in a very large set of randomly selected projects using four different programming languages. Our analysis suggests that a typical fault involves about three to four tokens, and is seldom equivalent to any traditional mutation operator. We also find the most frequently occurring syntactical patterns, and identify the factors that affect the real bug-fix change distribution. Our analysis suggests that different languages have different distributions, which in turn suggests that operators optimal in one language may not be optimal for others. Moreover, our results suggest that mutation analysis stands in need of better empirical support of the connection between mutant detection and detection of actual program faults in a larger body of real programs.
Keywords
program debugging; program testing; programming languages; software fault tolerance; bug-fix change distribution; bug-fix characteristics; competent programmer hypothesis; mutant detection; mutation analysis; mutation operator; program fault detection; programming languages; syntactical patterns; test suites; testing techniques; Accuracy; Computer bugs; Java; Sociology; Software; Statistics; mutation analysis; software testing;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Reliability Engineering (ISSRE), 2014 IEEE 25th International Symposium on
Conference_Location
Naples
ISSN
1071-9458
Print_ISBN
978-1-4799-6032-3
Type
conf
DOI
10.1109/ISSRE.2014.40
Filename
6982626
Link To Document