| A genetic programming approach to automated software repair |
| Full text |
Pdf
(470 KB)
|
Source
|
Genetic And Evolutionary Computation Conference
archive
Proceedings of the 11th Annual conference on Genetic and evolutionary computation
table of contents
Montreal, Québec, Canada
SESSION: Track 10: genetic programming
table of contents
Pages 947-954
Year of Publication: 2009
ISBN:978-1-60558-325-9
|
|
Authors
|
|
Stephanie Forrest
|
University of New Mexico, Albuquerque, NM, USA
|
|
ThanhVu Nguyen
|
University of New Mexico, Albuquerque, NM, USA
|
|
Westley Weimer
|
University of Virginia, Charlottesville, VA, USA
|
|
Claire Le Goues
|
University of Virginia, Charlottesville, VA, USA
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 17, Downloads (12 Months): 46, Citation Count: 0
|
|
|
ABSTRACT
Genetic programming is combined with program analysis methods to repair bugs in off-the-shelf legacy C programs. Fitness is defined using negative test cases that exercise the bug to be repaired and positive test cases that encode program requirements. Once a successful repair is discovered, structural differencing algorithms and delta debugging methods are used to minimize its size. Several modifications to the GP technique contribute to its success: (1) genetic operations are localized to the nodes along the execution path of the negative test case; (2) high-level statements are represented as single nodes in the program tree; (3) genetic operators use existing code in other parts of the program, so new code does not need to be invented. The paper describes the method, reviews earlier experiments that repaired 11 bugs in over 60,000 lines of code, reports results on new bug repairs, and describes experiments that analyze the performance and efficacy of the evolutionary components of the algorithm.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Alfred V. Aho , Monica S. Lam , Ravi Sethi , Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools (2nd Edition), Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 2006
|
| |
2
|
Raihan Al-Ekram , Archana Adma , Olga Baysal, diffX: an algorithm to detect changes in multi-version XML documents, Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research, p.1-11, October 17-20, 2005, Toranto, Ontario, Canada
|
 |
3
|
|
| |
4
|
|
| |
5
|
A. Arcuri and X. Yao. A novel co-evolutionary approach to automatic software bug fixing. In IEEE Congress on Evolutionary Computation, 2008.
|
 |
6
|
|
| |
7
|
|
| |
8
|
BBC News. Microsoft zune affected by 'bug'. In http://news.bbc.co.uk/2/hi/technology/7806683.stm, Dec. 2008.
|
| |
9
|
|
| |
10
|
|
| |
11
|
|
 |
12
|
Brian Demsky , Michael D. Ernst , Philip J. Guo , Stephen McCamant , Jeff H. Perkins , Martin Rinard, Inference and enforcement of data structure consistency specifications, Proceedings of the 2006 international symposium on Software testing and analysis, July 17-20, 2006, Portland, Maine, USA
[doi> 10.1145/1146238.1146266]
|
| |
13
|
B. Demsky and M. C. Rinard. Automatic data structure repair for self-healing systems. In Object-Oriented Programming, Systems, Languages, and Applications. 2003.
|
| |
14
|
|
 |
15
|
|
 |
16
|
David Hovemeyer , William Pugh, Finding bugs is easy, Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 24-28, 2004, Vancouver, BC, CANADA
[doi> 10.1145/1028664.1028717]
|
 |
17
|
Ben Liblit , Alex Aiken , Alice X. Zheng , Michael I. Jordan, Bug isolation via remote program sampling, Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, June 09-11, 2003, San Diego, California, USA
|
| |
18
|
G. C. Necula, S. McPeak, S. P. Rahul, and W. Weimer. Cil: An infrastructure for C program analysis and transformation. In International Conference on Compiler Construction, pages 213--228, Apr. 2002.
|
| |
19
|
|
 |
20
|
|
 |
21
|
Kristen R. Walcott , Mary Lou Soffa , Gregory M. Kapfhammer , Robert S. Roos, TimeAware test suite prioritization, Proceedings of the 2006 international symposium on Software testing and analysis, July 17-20, 2006, Portland, Maine, USA
[doi> 10.1145/1146238.1146240]
|
 |
22
|
|
| |
23
|
|
 |
24
|
|
| |
25
|
|
|