TY - GEN
T1 - Designing better fitness functions for automated program repair
AU - Fast, Ethan
AU - Goues, Claire Le
AU - Forrest, Stephanie
AU - Weimer, Westley
PY - 2010
Y1 - 2010
N2 - 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.
AB - 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.
KW - Genetic programming
KW - Software engineering
KW - Software repair
UR - http://www.scopus.com/inward/record.url?scp=77955916560&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=77955916560&partnerID=8YFLogxK
U2 - 10.1145/1830483.1830654
DO - 10.1145/1830483.1830654
M3 - Conference contribution
AN - SCOPUS:77955916560
SN - 9781450300728
T3 - Proceedings of the 12th Annual Genetic and Evolutionary Computation Conference, GECCO '10
SP - 965
EP - 972
BT - Proceedings of the 12th Annual Genetic and Evolutionary Computation Conference, GECCO '10
T2 - 12th Annual Genetic and Evolutionary Computation Conference, GECCO-2010
Y2 - 7 July 2010 through 11 July 2010
ER -