Return
Combining mutation and fault localization for automated program debugging
DOI:10.1016/j.jss.2013.10.042.png)
Abstract
En 中文
This paper proposes a strategy for automatically fixing faults in a program by combining the ideas of mutation and fault localization. Statements ranked in order of their likelihood of containing faults are mutated in the same order to produce potential fixes for the faulty program. The proposed strategy is evaluated using 8 mutant operators against 19 programs each with multiple faulty versions. Our results indicate that 20.70% of the faults are fixed using selected mutant operators, suggesting that the strategy holds merit for automatically fixing faults. The impact of fault localization on efficiency of the overall fault-fixing process is investigated by experimenting with two different techniques, Tarantula and Ochiai, the latter of which has been reported to be better at fault localization than Tarantula, and also proves to be better in the context of fault-fixing using our proposed strategy. Further experiments are also presented to evaluate stopping criteria with respect to the mutant examination process and reveal that a significant fraction of the (fixable) faults can be fixed by examining a small percentage of the program code. We also report on the relative fault-fixing capabilities of mutant operators used and present discussions on future work. (C) 2013 Elsevier Inc. All rights reserved.
Keywords:
Program debugging
Mutation
Fault localization
Fault-fixing
Software testing
Journal
IF:
4.1
Papers:
5.5K
Citations:
8.4K
Organization
Cited Papers
A Study on Thiol‐Michael Addition to Semi‐Synthetic Elastin‐Hyaluronan Material for Electrospun Scaffolds
ChemPlusChem
IF0

