ENCORE: Ensemble Learning using Convolution Neural Machine Translation for Automatic Program Repair

06/20/2019
by   Thibaud Lutellier, et al.
0

Automated generate-and-validate (G&V) program repair techniques typically rely on hard-coded rules, only fix bugs following specific patterns, and are hard to adapt to different programming languages. We propose ENCORE, a new G&V technique, which uses ensemble learning on convolutional neural machine translation (NMT) models to automatically fix bugs in multiple programming languages. We take advantage of the randomness in hyper-parameter tuning to build multiple models that fix different bugs and combine them using ensemble learning. This new convolutional NMT approach outperforms the standard long short-term memory (LSTM) approach used in previous work, as it better captures both local and long-distance connections between tokens. Our evaluation on two popular benchmarks, Defects4J and QuixBugs, shows that ENCORE fixed 42 bugs, including 16 that have not been fixed by existing techniques. In addition, ENCORE is the first G&V repair technique to be applied to four popular programming languages (Java, C++, Python, and JavaScript), fixing a total of 67 bugs across five benchmarks.

READ FULL TEXT
research
02/26/2021

CURE: Code-Aware Neural Machine Translation for Automatic Program Repair

Automatic program repair (APR) is crucial to improve software reliabilit...
research
05/22/2022

CIRCLE: Continual Repair across Programming Languages

Automatic Program Repair (APR) aims at fixing buggy source code with les...
research
09/12/2023

RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repair

Automatic program repair (APR) is crucial to reduce manual debugging eff...
research
11/06/2021

Automatic Program Repair with OpenAI's Codex: Evaluating QuixBugs

OpenAI's Codex, a GPT-3 like model trained on a large code corpus, has m...
research
12/18/2018

Learning to Generate Corrective Patches using Neural Machine Translation

Bug fixing is generally a manually-intensive task. However, recent work ...
research
05/10/2021

Neural Program Repair with Execution-based Backpropagation

Neural machine translation (NMT) architectures have achieved promising r...
research
04/14/2022

GLAD: Neural Predicate Synthesis to Repair Omission Faults

Existing template and learning-based APR tools have successfully found p...

Please sign up or login with your details

Forgot password? Click here to reset