<!--
-->
Evolutionary computation is a promising technique for automating time-consuming and expensive software maintenance tasks, including bug repair. There are more bugs in real-world programs than human programmers can realistically address. This entry considers how to address “What fraction of bugs can be repaired automatically?†and “How much does it cost to repair a bug automatically?†To answer these questions, novel algorithmic improvements were made to GenProg that allow it to scale to large programs and find repairs 68% more often. GenProg uses genetic programming to repair defects in off-the-shelf C programs. Genprog's inherent parallelism is exploited by using cloud computing resources to provide grounded, human- competitive cost measurements. The efforts included generating a large, indicative benchmark set for systematic evaluations. GenProg was evaluated on 105 defects from 8 open-source programs totalling 5.1 million lines of code and involving 10,193 test cases. GenProg automatically repairs 55 of those 105 defects. To the entrants' 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 allowed the 105 runs to be reproduced for $403; a successful repair completes in 96 minutes and costs $7.32, on average.
Bronze Award, 2012 Humies, Scalable Human-Competitive Software Repair
Author: unamay - Published 2012-07-23 15:07 - (63077 Reads)
Michael Dewey-Vogt, Stephanie Forrest, Claire Le Goues and Westley Weimer of the University of New Mexico and of the University of Virginia, USA won the Bronze Award in the 2012 Humies Competition.
They developed GenProg, a software tool that can detects and repair bugs automatically in C code using Genetic Programming. GenProg was able to repair more than half of 105 defects from 8 open-source programs totalling 5.1 millions lines of code.
They developed GenProg, a software tool that can detects and repair bugs automatically in C code using Genetic Programming. GenProg was able to repair more than half of 105 defects from 8 open-source programs totalling 5.1 millions lines of code.