Back to Search Start Over

Improved representation and genetic operators for linear genetic programming for automated program repair.

Authors :
Oliveira, Vinicius Paulo L.
Souza, Eduardo Faria de
Goues, Claire Le
Camilo-Junior, Celso G.
Source :
Empirical Software Engineering; Oct2018, Vol. 23 Issue 5, p2980-3006, 27p
Publication Year :
2018

Abstract

Genetic improvement for program repair can fix bugs or otherwise improve software via patch evolution. Consider GenProg, a prototypical technique of this type. GenProg’s crossover and mutation operators manipulate individuals represented as patches. A patch is composed of high-granularity edits that indivisibly comprise an edit operation, a faulty location, and a fix statement used in replacement or insertions. We observe that recombination and mutation of such high-level units limits the technique’s ability to effectively traverse and recombine the repair search spaces. We propose a reformulation of program repair representation, crossover, and mutation operators such that they explicitly traverse the three subspaces that underlie the search problem: the Operator, Fault and Fix Spaces. We provide experimental evidence validating our insight, showing that the operators provide considerable improvement over the baseline repair algorithm in terms of search success rate and efficiency. We also conduct a genotypic distance analysis over the various types of search, providing insight as to the influence of the operators on the program repair search problem. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
13823256
Volume :
23
Issue :
5
Database :
Complementary Index
Journal :
Empirical Software Engineering
Publication Type :
Academic Journal
Accession number :
130897404
Full Text :
https://doi.org/10.1007/s10664-017-9562-9