Title
Designing better fitness functions for automated program repair
Abstract
Evolutionary methods have been used to repair programs automatically, with promising results. However, the fitness function used to achieve these results was based on a few simple test cases and is likely too simplistic for larger programs and more complex bugs. We focus here on two aspects of fitness evaluation: efficiency and precision. Efficiency is an issue because many programs have hundreds of test cases, and it is costly to run each test on every individual in the population. Moreover, the precision of fitness functions based on test cases is limited by the fact that a program either passes a test case, or does not, which leads to a fitness function that can take on only a few distinct values. This paper investigates two approaches to enhancing fitness functions for program repair, incorporating (1) test suite selection to improve efficiency and (2) formal specifications to improve precision. We evaluate test suite selection on 10 programs, improving running time for automated repair by 81%. We evaluate program invariants using the Fitness Distance Correlation (FDC) metric, demonstrating significant improvements and smoother evolution of repairs
Year
DOI
Venue
2010
10.1145/1830483.1830654
GECCO
Keywords
Field
DocType
better fitness function,fitness distance correlation,program repair,automated repair,test suite selection,automated program repair,larger program,fitness evaluation,fitness function,evolutionary method,simple test case,test case,formal specification,software engineering,genetic programming
Test suite,Population,Computer science,Genetic programming,Distance correlation,Formal specification,Fitness function,Artificial intelligence,Test case,Machine learning
Conference
Citations 
PageRank 
References 
24
1.04
21
Authors
4
Name
Order
Citations
PageRank
Ethan Fast11408.45
Claire Le Goues2176668.79
Stephanie Forrest364481102.07
Westley Weimer43510162.27