Improving Search-Based Automatic Program Repair With Neural Machine Translation
Created by W.Langdon from
gp-bibliography.bib Revision:1.8051
- @Article{Li:2022:IEEEAccess,
-
author = "Dongcheng Li and W. Eric Wong and Mingyong Jian and
Yi Geng and Matthew Chau",
-
journal = "IEEE Access",
-
title = "Improving Search-Based Automatic Program Repair With
Neural Machine Translation",
-
year = "2022",
-
volume = "10",
-
pages = "51167--51175",
-
abstract = "The challenge of automatically repairing bugs in
programs to reduce debugging expenses and increase
program quality is known as automated program repair.
To overcome this issue, test-suite-based repair
techniques use a specified test suite as an oracle and
alter the input faulty program to pass the full test
suite. GenProg is a well-known example of this kind of
repair, in which genetic programming is used to reorder
the statements already present in the faulty program.
However, recent practical experiments suggest that
GenProg's performance, notably for Java, is not
sufficient. Improved program dependability necessitates
the use of automatic program repair techniques.
Template-based program repair techniques have recently
been combined with search-based techniques to solve
program issues automatically. Although intriguing, it
has two fundamental drawbacks: Its search space often
lacks the correct solution, and the technique
disregards program expertise, such as precise code
language. Compared with the template-based program
repair approach, existing
neural-machine-translation-based approaches are not
limited by these constraints due to their ability to
learn and generate new solutions. We propose an
approach that combines a search-based automatic program
repair technique with a
neural-machine-translation-based approach. More
specifically, we use both redundancy assumption and
sequence-to-sequence learning of correct patches as the
source for potential fix statements that feed into a
multiobjective evolutionary search algorithm to find
test-suite-adequate patches. In this work, a novel
framework called ARJANMT is introduced for
automatically repairing Java programs. Two sets of
controlled experiments are conducted on 410 bugs from
two benchmarks to investigate the repairability and
correctness of our proposed framework. A comparison
between state-of-the-art automatic program repair
frameworks is made. The experimental results indicate
that combining those two types of repair techniques
(search-based and neural-machine-translation-based)
produces better results or fixes bugs that they
previously were unable to fix individually.",
-
keywords = "genetic algorithms, genetic programming, genetic
improvment, APR",
-
DOI = "doi:10.1109/ACCESS.2022.3164780",
-
ISSN = "2169-3536",
-
notes = "Also known as \cite{9749095}",
- }
Genetic Programming entries for
Dongcheng Li
W Eric Wong
Mingyong Jian
Yi Geng
Matthew Chau
Citations