Injecting mechanical faults to localize developer faults for evolving software

Lingming Zhang, Lu Zhang, Sarfraz Khurshid

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

This paper presents a novel methodology for localizing faults in code as it evolves. Our insight is that the essence of failure-inducing edits made by the developer can be captured using mechanical program transformations (e.g., mutation changes). Based on the insight, we present the FIFL framework, which uses both the spectrum information of edits (obtained using the existing FAULTTRACER approach) as well as the potential impacts of edits (simulated by mutation changes) to achieve more accurate fault localization. We evaluate FIFL on real-world repositories of nine Java projects ranging from 5.7KLoC to 88.8KLoC. The experimental results show that FIFL is able to outperformthe stateof- the-art FAULTTRACER technique for localizing failureinducing program edits significantly. For example, all 19 FIFL strategies that use both the spectrum information and simulated impact information for each edit outperform the existing FAULTTRACER approach statistically at the significance level of 0.01. In addition, FIFL with its default settings outperforms FAULTTRACER by 2.33% to 86.26% on 16 of the 26 studied version pairs, and is only inferior than FAULTTRACER on one version pair.

Original languageEnglish (US)
Title of host publicationSPLASH Indianapolis 2013
Subtitle of host publicationOOPSLA 2013 - Proceedings of the 2013 International Conference on Object Oriented Programming Systems Languages and Applications
Pages765-784
Number of pages20
DOIs
StatePublished - 2013
Externally publishedYes
Event2013 28th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2013 - Indianapolis, IN, United States
Duration: Oct 29 2013Oct 31 2013

Publication series

NameProceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA

Conference

Conference2013 28th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2013
Country/TerritoryUnited States
CityIndianapolis, IN
Period10/29/1310/31/13

Keywords

  • Fault localization
  • Mutation testing
  • Regression testing
  • Software evolution

ASJC Scopus subject areas

  • Software

Cite this