Can automated program repair refine fault localization? a unified debugging approach

Yiling Lou, Ali Ghanbari, Xia Li, Lingming Zhang, Haotian Zhang, Dan Hao, Lu Zhang

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

Abstract

A large body of research efforts have been dedicated to automated software debugging, including both automated fault localization and program repair. However, existing fault localization techniques have limited effectiveness on real-world software systems while even the most advanced program repair techniques can only fix a small ratio of real-world bugs. Although fault localization and program repair are inherently connected, their only existing connection in the literature is that program repair techniques usually use off-the-shelf fault localization techniques (e.g., Ochiai) to determine the potential candidate statements/elements for patching. In this work, we propose the unified debugging approach to unify the two areas in the other direction for the first time, i.e., can program repair in turn help with fault localization? In this way, we not only open a new dimension for more powerful fault localization, but also extend the application scope of program repair to all possible bugs (not only the bugs that can be directly automatically fixed). We have designed ProFL to leverage patch-execution results (from program repair) as the feedback information for fault localization. The experimental results on the widely used Defects4J benchmark show that the basic ProFL can already at least localize 37.61% more bugs within Top-1 than state-of-the-art spectrum and mutation based fault localization. Furthermore, ProFL can boost state-of-the-art fault localization via both unsupervised and supervised learning. Meanwhile, we have demonstrated ProFL's effectiveness under different settings and through a case study within Alipay, a popular online payment system with over 1 billion global users.

Original languageEnglish (US)
Title of host publicationISSTA 2020 - Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis
EditorsSarfraz Khurshid, Corina S. Pasareanu
PublisherAssociation for Computing Machinery
Pages75-87
Number of pages13
ISBN (Electronic)9781450380089
DOIs
StatePublished - Jul 18 2020
Externally publishedYes
Event29th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2020 - Virtual, Online, United States
Duration: Jul 18 2020Jul 22 2020

Publication series

NameISSTA 2020 - Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis

Conference

Conference29th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2020
Country/TerritoryUnited States
CityVirtual, Online
Period7/18/207/22/20

Keywords

  • Automated Program Repair
  • Fault Localization
  • Unified Debugging

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Can automated program repair refine fault localization? a unified debugging approach'. Together they form a unique fingerprint.

Cite this