RATCHET : Retrieval augmented transformer for program repair

Automated Program Repair (APR) presents the promising momentum of releasing developers from the burden of manual debugging tasks by automatically fixing bugs in various ways. Recent advances in deep learning inspire many works in employing deep learning techniques to fixing buggy programs. However,...

Full description

Saved in:
Bibliographic Details
Main Authors: WANG, Jian, LIU, Shangqing, XIE, Xiaofei, KAI, Siow Jingkai, LIU, Kui, LI, Yi
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2024
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/9857
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-10857
record_format dspace
spelling sg-smu-ink.sis_research-108572024-12-24T02:24:02Z RATCHET : Retrieval augmented transformer for program repair WANG, Jian LIU, Shangqing XIE, Xiaofei KAI, Siow Jingkai LIU, Kui LI, Yi Automated Program Repair (APR) presents the promising momentum of releasing developers from the burden of manual debugging tasks by automatically fixing bugs in various ways. Recent advances in deep learning inspire many works in employing deep learning techniques to fixing buggy programs. However, several challenges remain unaddressed: (1) state-of-the-art fault localization techniques often require additional artifacts, such as bug-triggering test cases or bug reports. These artifacts are not always available in the early development phases; (2) Sequence-to-Sequence model-based APR often requires additional contexts with high quality to generate patches. Yet, it is challenging to identify high-quality contexts that are not common in programs.In this paper, with the redundancy assumption in program repair, we propose a dual deep learning-based APR tool, RATCHET, for localizing (RATCHET-FL) and repairing (Ratchet-PG) buggy programs. Ratchet-FL localizes buggy statements based on the feature learned by a simple BiLSTM model from the code, without any bug-triggering test cases or bug reports. Ratchet-PG relies on our proposed retrieval augmented transformer to learn the historical patches and generate patches for fixing bugs. We evaluate the effectiveness of Ratchet with in-the-lab DrRepair dataset and in-the-wild dataset Ratchet-DS (curated in this work). Our experimental results show that Ratchet outperforms state-of-the-art deep learning approaches on fault localization with 39.8-96.4% accuracy and patch generation with 18.4-46.4% repair accuracy. 2024-10-28T07:00:00Z text https://ink.library.smu.edu.sg/sis_research/9857 info:doi/10.1109/ISSRE62328.2024.00048 Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Automated Program Repair Deep learning Bugs fixing Program repair Bug-triggering test Fault localization Artificial Intelligence and Robotics
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Automated Program Repair
Deep learning
Bugs fixing
Program repair
Bug-triggering test
Fault localization
Artificial Intelligence and Robotics
spellingShingle Automated Program Repair
Deep learning
Bugs fixing
Program repair
Bug-triggering test
Fault localization
Artificial Intelligence and Robotics
WANG, Jian
LIU, Shangqing
XIE, Xiaofei
KAI, Siow Jingkai
LIU, Kui
LI, Yi
RATCHET : Retrieval augmented transformer for program repair
description Automated Program Repair (APR) presents the promising momentum of releasing developers from the burden of manual debugging tasks by automatically fixing bugs in various ways. Recent advances in deep learning inspire many works in employing deep learning techniques to fixing buggy programs. However, several challenges remain unaddressed: (1) state-of-the-art fault localization techniques often require additional artifacts, such as bug-triggering test cases or bug reports. These artifacts are not always available in the early development phases; (2) Sequence-to-Sequence model-based APR often requires additional contexts with high quality to generate patches. Yet, it is challenging to identify high-quality contexts that are not common in programs.In this paper, with the redundancy assumption in program repair, we propose a dual deep learning-based APR tool, RATCHET, for localizing (RATCHET-FL) and repairing (Ratchet-PG) buggy programs. Ratchet-FL localizes buggy statements based on the feature learned by a simple BiLSTM model from the code, without any bug-triggering test cases or bug reports. Ratchet-PG relies on our proposed retrieval augmented transformer to learn the historical patches and generate patches for fixing bugs. We evaluate the effectiveness of Ratchet with in-the-lab DrRepair dataset and in-the-wild dataset Ratchet-DS (curated in this work). Our experimental results show that Ratchet outperforms state-of-the-art deep learning approaches on fault localization with 39.8-96.4% accuracy and patch generation with 18.4-46.4% repair accuracy.
format text
author WANG, Jian
LIU, Shangqing
XIE, Xiaofei
KAI, Siow Jingkai
LIU, Kui
LI, Yi
author_facet WANG, Jian
LIU, Shangqing
XIE, Xiaofei
KAI, Siow Jingkai
LIU, Kui
LI, Yi
author_sort WANG, Jian
title RATCHET : Retrieval augmented transformer for program repair
title_short RATCHET : Retrieval augmented transformer for program repair
title_full RATCHET : Retrieval augmented transformer for program repair
title_fullStr RATCHET : Retrieval augmented transformer for program repair
title_full_unstemmed RATCHET : Retrieval augmented transformer for program repair
title_sort ratchet : retrieval augmented transformer for program repair
publisher Institutional Knowledge at Singapore Management University
publishDate 2024
url https://ink.library.smu.edu.sg/sis_research/9857
_version_ 1821237253150605312