Article ID Journal Published Year Pages File Type
487252 Procedia Computer Science 2015 8 Pages PDF
Abstract

Automated program repair (APR) techniques locate and fix faults automatically. In order to fix faults, APR applies a set of program modification operators (PMOs) to modify faulty programs. A potential repair is found when APR applies a PMO that fixes a fault. A brute-force search algorithm applies all PMOs in a predefined order until a potential repair is found. Brute-force can guarantee a fix but lowers APR performance, especially when it uses many PMOs. Stochastic search algorithms, such as a genetic algorithm, efficiently search the modifications space for a PMO that fixes a fault. In this paper, we conduct a comprehensive evaluation of the impact on APR effectiveness, APR performance, and the quality of potential repairs of three stochastic search algorithms:(1) a genetic algorithm (GA), (2) a genetic algorithm without a crossover operator (GAWoCross), and (3) a random search (RS). Our evaluation using 41 faulty versions of six different C programs shows that RS improves APR effectiveness and performance, but GA and GAWoCross improve the quality of potential repairs by generating more validated repairs, and potential repairs that failed fewer regression tests compared to RS.

Related Topics
Physical Sciences and Engineering Computer Science Computer Science (General)