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,...
Saved in:
Main Authors: | , , , , , |
---|---|
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 |