SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repair

12/24/2018
by   Zimin Chen, et al.
0

This paper presents a novel end-to-end approach to program repair based on sequence-to-sequence learning. We devise, implement, and evaluate a system, called SequenceR, for fixing bugs based on sequence-to-sequence learning on source code. This approach uses the copy mechanism to overcome the unlimited vocabulary problem that occurs with big code. Our system is data-driven; we train it on 35,578 commits, carefully curated from open-source repositories. We evaluate it on 4,711 independent real bug fixes, as well on the Defects4J benchmark used in program repair research. SequenceR is able to perfectly predict the fixed line for 950/4711 testing samples. It captures a wide range of repair operators without any domain-specific top-down design.

READ FULL TEXT
research
10/30/2017

Semantic Code Repair using Neuro-Symbolic Transformation Networks

We study the problem of semantic code repair, which can be broadly defin...
research
04/20/2023

Leveraging Static Analysis for Bug Repair

We propose a method combining machine learning with a static analysis to...
research
05/26/2022

Leveraging Causal Inference for Explainable Automatic Program Repair

Deep learning models have made significant progress in automatic program...
research
12/04/2019

Using Sequence-to-Sequence Learning for Repairing C Vulnerabilities

Software vulnerabilities affect all businesses and research is being don...
research
05/28/2020

MACER: A Modular Framework for Accelerated Compilation Error Repair

Automated compilation error repair, the problem of suggesting fixes to b...
research
04/25/2023

TraceFixer: Execution Trace-Driven Program Repair

When debugging unintended program behavior, developers can often identif...
research
04/05/2023

MUFIN: Improving Neural Repair Models with Back-Translation

Automated program repair is the task of automatically repairing software...

Please sign up or login with your details

Forgot password? Click here to reset