Please use this identifier to cite or link to this item: http://hdl.handle.net/10397/94339
PIRA download icon_1.1View/Download Full Text
Title: Restore : retrospective fault localization enhancing automated program repair
Authors: Xu, T 
Chen, L 
Pei, Y 
Zhang, T
Pan, M
Furia, CA
Issue Date: 1-Jan-2022
Source: IEEE transactions on software engineering, 1 Jan. 2022, v. 48, no. 1, p. 309-326
Abstract: Fault localization is a crucial step of automated program repair, because accurately identifying program locations that are most closely implicated with a fault greatly affects the effectiveness of the patching process. An ideal fault localization technique would provide precise information while requiring moderate computational resources - to best support an efficient search for correct fixes. In contrast, most automated program repair tools use standard fault localization techniques - which are not tightly integrated with the overall program repair process, and hence deliver only subpar efficiency. In this paper, we present retrospective fault localization: a novel fault localization technique geared to the requirements of automated program repair. A key idea of retrospective fault localization is to reuse the outcome of failed patch validation to support mutation-based dynamic analysis - providing accurate fault localization information without incurring onerous computational costs. We implemented retrospective fault localization in a tool called Restore - based on the Jaid Java program repair system. Experiments involving faults from the Defects4J standard benchmark indicate that retrospective fault localization can boost automated program repair: Restore efficiently explores a large fix space, delivering state-of-the-art effectiveness (41 Defects4J bugs correctly fixed, 8 of which no other automated repair tool for Java can fix) while simultaneously boosting performance (speedup over 3 compared to Jaid). Retrospective fault localization is applicable to any automated program repair techniques that rely on fault localization and dynamic validation of patches.
Publisher: Institute of Electrical and Electronics Engineers
Journal: IEEE transactions on software engineering 
ISSN: 0098-5589
EISSN: 1939-3520
DOI: 10.1109/TSE.2020.2987862
Rights: © 2020 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
The following publication Xu, T., Chen, L., Pei, Y., Zhang, T., Pan, M., & Furia, C. A. (2022). Restore: Retrospective fault localization enhancing automated program repair. IEEE Transactions on Software Engineering, 48(1), 309-326 is available at https://doi.org/10.1109/TSE.2020.2987862.
Appears in Collections:Journal/Magazine Article

Files in This Item:
File Description SizeFormat 
Xu_Restore_Retrospective_Fault.pdfPre-Published version1.57 MBAdobe PDFView/Open
Open Access Information
Status open access
File Version Final Accepted Manuscript
Access
View full-text via PolyU eLinks SFX Query
Show full item record

Page views

44
Last Week
1
Last month
Citations as of May 5, 2024

Downloads

111
Citations as of May 5, 2024

SCOPUSTM   
Citations

6
Citations as of May 3, 2024

WEB OF SCIENCETM
Citations

4
Citations as of May 2, 2024

Google ScholarTM

Check

Altmetric


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.