loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
2009 IEEE 31st International Conference on Software Engineering
Automatically finding patches using genetic programming
Vancouver, BC, Canada
May 16-May 24
ISBN: 978-1-4244-3453-4
Westley Weimer, University of Virginia, USA
ThanhVu Nguyen, University of New Mexico, USA
Claire Le Goues, University of Virginia, USA
Stephanie Forrest, University of New Mexico, USA
Automatic program repair has been a longstanding goal in software engineering, yet debugging remains a largely manual process. We introduce a fully automated method for locating and repairing bugs in software. The approach works on off-the-shelf legacy applications and does not require formal specifications, program annotations or special coding practices. Once a program fault is discovered, an extended form of genetic programming is used to evolve program variants until one is found that both retains required functionality and also avoids the defect in question. Standard test cases are used to exercise the fault and to encode program requirements. After a successful repair has been discovered, it is minimized using structural differencing algorithms and delta debugging. We describe the proposed method and report experimental results demonstrating that it can successfully repair ten different C programs totaling 63,000 lines in under 200 seconds, on average.
Citation:
Westley Weimer, ThanhVu Nguyen, Claire Le Goues, Stephanie Forrest, "Automatically finding patches using genetic programming," icse, pp.364-374, 2009 IEEE 31st International Conference on Software Engineering, 2009
Usage of this product signifies your acceptance of the Terms of Use.