Toward Better Evolutionary Program Repair: an Integrated Approach
Created by W.Langdon from
gp-bibliography.bib Revision:1.7964
- @Article{Yuan:2020:TBE,
-
author = "Yuan Yuan and Wolfgang Banzhaf",
-
title = "Toward Better Evolutionary Program Repair: an
Integrated Approach",
-
journal = "ACM Transactions on Software Engineering and
Methodology",
-
volume = "29",
-
number = "1",
-
pages = "5:1--5:53",
-
month = feb,
-
year = "2020",
-
keywords = "genetic algorithms, genetic programming, genetic
improvement, APR, SBSE",
-
CODEN = "ATSMER",
-
ISSN = "1049-331X",
-
bibdate = "Thu Feb 6 08:32:22 MST 2020",
-
bibsource = "http://www.math.utah.edu/pub/tex/bib/tosem.bib",
-
URL = "https://yyxhdy.github.io/files/TOSEM2019.pdf",
-
URL = "https://dl.acm.org/doi/abs/10.1145/3360004",
-
DOI = "doi:10.1145/3360004",
-
code_url = "https://github.com/yyxhdy/arja/tree/arja-e",
-
size = "53 pages",
-
abstract = "Bug repair is a major component of software
maintenance, which requires a huge amount of manpower.
Evolutionary computation, particularly genetic
programming (GP), is a class of promising techniques
for automating this time-consuming and expensive
process. Although recent research in evolutionary
program repair has made significant progress, major
challenges still remain. In this article, we propose
ARJA-e, anew evolutionary repair system for Java code
that aims to address challenges for the search space,
search algorithm, and patch overfitting. To determine a
search space that is more likely to contain correct
patches,ARJA-e combines two sources of fix ingredients
(i.e., the statement-level redundancy assumption and
repair templates) with contextual analysis-based search
space reduction, thereby leveraging their complementary
strengths. To encode patches in GP more properly,
ARJA-e unifies the edits at different granularities
into statement-level edits and then uses a
lower-granularity patch representation that is
characterized by the decoupling of statements for
replacement and statements for insertion. ARJA-e also
uses a finer-grained fitness function that can make
full use of semantic information contained in the test
suite, which is expected to better guide the search of
GP. To alleviate patch overfitting, ARJA-e further
includes a post processing tool that can serve the
purposes of overfit detection and patch ranking. We
evaluate ARJA-e on 224 real Java bugs from Defects4J
and compare it with the state-of-the-art repair
techniques. The evaluation results show that ARJA-e can
correctly fix 39 bugs in terms of the patches ranked
first, achieving substantial performance improvements
over the state of the art. In addition, we analyze the
effect of the components of ARJA-e qualitatively and
quantitatively to demonstrate their effectiveness and
advantages.",
-
acknowledgement = "Nelson H. F. Beebe, University of Utah, Department
of Mathematics, 110 LCB, 155 S 1400 E RM 233, Salt Lake
City, UT 84112-0090, USA, Tel: +1 801 581 5254, FAX: +1
801 581 4148, e-mail: \path|beebe@math.utah.edu|,
\path|beebe@acm.org|, \path|beebe@computer.org|
(Internet), URL: \path|http://www.math.utah.edu/~beebe/
|",
-
articleno = "5",
-
journal-URL = "https://dl.acm.org/loi/tosem",
- }
Genetic Programming entries for
Yuan Yuan
Wolfgang Banzhaf
Citations