KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program
Repair
- URL: http://arxiv.org/abs/2302.01857v3
- Date: Sun, 16 Apr 2023 20:29:38 GMT
- Title: KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program
Repair
- Authors: Nan Jiang, Thibaud Lutellier, Yiling Lou, Lin Tan, Dan Goldwasser, and
Xiangyu Zhang
- Abstract summary: Automated Program Repair (APR) improves software reliability by generating patches for a buggy program automatically.
Recent APR techniques leverage deep learning (DL) to build models to learn to generate patches from existing patches and code corpora.
We propose a DL-based APR approach, which incorporates domain knowledge to guide patch generation in a direct and comprehensive way.
- Score: 33.04645845117822
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: Automated Program Repair (APR) improves software reliability by generating
patches for a buggy program automatically. Recent APR techniques leverage deep
learning (DL) to build models to learn to generate patches from existing
patches and code corpora. While promising, DL-based APR techniques suffer from
the abundant syntactically or semantically incorrect patches in the patch
space. These patches often disobey the syntactic and semantic domain knowledge
of source code and thus cannot be the correct patches to fix a bug.
We propose a DL-based APR approach KNOD, which incorporates domain knowledge
to guide patch generation in a direct and comprehensive way. KNOD has two major
novelties, including (1) a novel three-stage tree decoder, which directly
generates Abstract Syntax Trees of patched code according to the inherent tree
structure, and (2) a novel domain-rule distillation, which leverages syntactic
and semantic rules and teacher-student distributions to explicitly inject the
domain knowledge into the decoding procedure during both the training and
inference phases.
We evaluate KNOD on three widely-used benchmarks. KNOD fixes 72 bugs on the
Defects4J v1.2, 25 bugs on the QuixBugs, and 50 bugs on the additional
Defects4J v2.0 benchmarks, outperforming all existing APR tools.
Related papers
- Train Till You Drop: Towards Stable and Robust Source-free Unsupervised 3D Domain Adaptation [62.889835139583965]
We tackle the problem of source-free unsupervised domain adaptation (SFUDA) for 3D semantic segmentation.
It amounts to performing domain adaptation on an unlabeled target domain without any access to source data.
A common issue with existing SFUDA approaches is that performance degrades after some training time.
arXiv Detail & Related papers (2024-09-06T17:13:14Z) - Hybrid Automated Program Repair by Combining Large Language Models and Program Analysis [12.7034916462208]
Automated Program Repair (APR) has garnered significant attention due to its potential to streamline the bug repair process for human developers.
This paper introduces an innovative APR approach called GIANTREPAIR.
Based on this insight, GIANTREPAIR first constructs patch skeletons from LLM-generated patches to confine the patch space, and then generates high-quality patches tailored to specific programs.
arXiv Detail & Related papers (2024-06-03T05:05:12Z) - A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
Research shows that grammatical mistakes in a sentence can be corrected by translating it to another language and back.
Current generative models for Automatic Program Repair (APR) are pre-trained on source code and fine-tuned for repair.
This paper proposes bypassing the fine-tuning step and using Round-Trip Translation (RTT): translation of code from one programming language to another programming or natural language, and back.
arXiv Detail & Related papers (2024-01-15T22:36:31Z) - Patch-CLIP: A Patch-Text Pre-Trained Model [6.838615442552715]
patch representation learning has emerged as a necessary research direction for exploiting the capabilities of machine learning in software generation.
We introduce.
theweak-CLIP, a novel pre-training framework for patches and natural language text.
We show that.
theweak-CLIP sets new state-of-the-art performance, consistently outperforming the state-of-the-art in metrics like BLEU, ROUGE-L, METEOR, and Recall.
arXiv Detail & Related papers (2023-10-19T14:00:19Z) - RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic
Program Repair [75.40584530380589]
We propose a novel Retrieval-Augmented Patch Generation framework (RAP-Gen)
RAP-Gen explicitly leveraging relevant fix patterns retrieved from a list of previous bug-fix pairs.
We evaluate RAP-Gen on three benchmarks in two programming languages, including the TFix benchmark in JavaScript, and Code Refinement and Defects4J benchmarks in Java.
arXiv Detail & Related papers (2023-09-12T08:52:56Z) - Structured Dialogue Discourse Parsing [79.37200787463917]
discourse parsing aims to uncover the internal structure of a multi-participant conversation.
We propose a principled method that improves upon previous work from two perspectives: encoding and decoding.
Experiments show that our method achieves new state-of-the-art, surpassing the previous model by 2.3 on STAC and 1.5 on Molweni.
arXiv Detail & Related papers (2023-06-26T22:51:01Z) - Self-Supervised Point Cloud Representation Learning with Occlusion
Auto-Encoder [63.77257588569852]
We present 3D Occlusion Auto-Encoder (3D-OAE) for learning representations for point clouds.
Our key idea is to randomly occlude some local patches of the input point cloud and establish the supervision via recovering the occluded patches.
In contrast with previous methods, our 3D-OAE can remove a large proportion of patches and predict them only with a small number of visible patches.
arXiv Detail & Related papers (2022-03-26T14:06:29Z) - A Syntax-Guided Edit Decoder for Neural Program Repair [14.978841897815434]
We propose Recoder, a syntax-guided edit decoder with placeholder generation.
We conduct experiments to evaluate Recoder on 395 bugs from Defects4J v1.2, 420 additional bugs from Defects4J v2.0, 297 bugs from IntroClassJava and 40 bugs from QuixBugs.
Our results show that Recoder repairs 53 bugs on Defects4J v1.2, which achieves 26.2% (11 bugs) improvement over the previous state-of-the-art approach for single-hunk bugs (TBar)
arXiv Detail & Related papers (2021-06-15T16:01:51Z) - CURE: Code-Aware Neural Machine Translation for Automatic Program Repair [11.556110575946631]
We propose CURE, a new NMT-based APR technique with three major novelties.
CURE pre-trains a programming language (PL) model on a large software to learn developer-like source code before the APR task.
Second, CURE designs a new code-aware search strategy that finds more correct fixes by focusing on compilable patches and patches that are close in length to the buggy code.
arXiv Detail & Related papers (2021-02-26T22:30:28Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.