Improved crossover operators for genetic programming for program repair

14Citations
Citations of this article
25Readers
Mendeley users who have this article in their library.
Get full text

Abstract

GenProg is a stochastic method based on genetic programming that presents promising results in automatic software repair via patch evolution. GenProg’s crossover operates on a patch representation composed of high-granularity edits that indivisibly comprise an edit operation, a faulty location, and a fix statement used in replacement or insertions. Recombination of such high-level minimal units limits the technique’s ability to effectively traverse and recombine the repair search spaces. In this work, we propose a reformulation of program repair operators such that they explicitly traverse three subspaces that underlie the search problem: Operator, Fault Space and Fix Space. We leverage this reformulation in the form of new crossover operators that faithfully respect this subspace division, improving search performance. Our experiments on 43 programs validate our insight, and show that the Unif1Space without memorization performed best, improving the fix rate by 34%.

Cite

CITATION STYLE

APA

Oliveira, V. P. L., Souza, E. F. D., Le Goues, C., & Camilo-Junior, C. G. (2016). Improved crossover operators for genetic programming for program repair. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9962 LNCS, pp. 112–127). Springer Verlag. https://doi.org/10.1007/978-3-319-47106-8_8

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free