ACM Home Page
Please provide us with feedback. Feedback
A genetic programming approach to automated software repair
Full text PdfPdf (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
SIGEVO: ACM Special Interest Group on Genetic and Evolutionary Computation
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 17,   Downloads (12 Months): 46,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1569901.1570031
What is a DOI?

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
 
2
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
 
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
17
 
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
22
 
23
24
 
25

Collaborative Colleagues:
Stephanie Forrest: colleagues
ThanhVu Nguyen: colleagues
Westley Weimer: colleagues
Claire Le Goues: colleagues