Title :
A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 each
Author :
Le Goues, Claire ; Dewey-Vogt, Michael ; Forrest, Stephanie ; Weimer, Westley
Author_Institution :
Comput. Sci. Dept., Univ. of Virginia, Charlottesville, VA, USA
Abstract :
There are more bugs in real-world programs than human programmers can realistically address. This paper evaluates two research questions: “What fraction of bugs can be repaired automatically?” and “How much does it cost to repair a bug automatically?” In previous work, we presented GenProg, which uses genetic programming to repair defects in off-the-shelf C programs. To answer these questions, we: (1) propose novel algorithmic improvements to GenProg that allow it to scale to large programs and find repairs 68% more often, (2) exploit GenProg´s inherent parallelism using cloud computing resources to provide grounded, human-competitive cost measurements, and (3) generate a large, indicative benchmark set to use for systematic evaluations. We evaluate GenProg on 105 defects from 8 open-source programs totaling 5.1 million lines of code and involving 10,193 test cases. GenProg automatically repairs 55 of those 105 defects. To our knowledge, this evaluation is the largest available of its kind, and is often two orders of magnitude larger than previous work in terms of code or test suite size or defect count. Public cloud computing prices allow our 105 runs to be reproduced for $403; a successful repair completes in 96 minutes and costs $7.32, on average.
Keywords :
C language; cloud computing; genetic algorithms; program debugging; public domain software; software cost estimation; software maintenance; GenProg; algorithmic improvement; automated program repair; cloud computing resource; defect repair; genetic programming; grounded human-competitive cost measurement; off-the-shelf C program; open-source program; program bug; real-world program; repair cost; systematic evaluation; Benchmark testing; Cloud computing; Computer bugs; Genetic programming; Maintenance engineering; Open source software; Systematics; automated program repair; cloud computing; genetic programming;
Conference_Titel :
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location :
Zurich
Print_ISBN :
978-1-4673-1066-6
Electronic_ISBN :
0270-5257
DOI :
10.1109/ICSE.2012.6227211