arrow
Return

GenProg: A Generic Method for Automatic Software Repair

delete2012-01-01
delete594
PRE
AI
C
Claire Le Goues *
T
ThanhVu Nguyen
S
Stephanie Forrest
W
Westley Weimer
DOI:10.1109/TSE.2011.104delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
This paper describes GenProg, an automated method for repairing defects in off-the-shelf, legacy programs without formal specifications, program annotations, or special coding practices. GenProg uses an extended form of genetic programming to evolve a program variant that retains required functionality but is not susceptible to a given defect, using existing test suites to encode both the defect and required functionality. Structural differencing algorithms and delta debugging reduce the difference between this variant and the original program to a minimal repair. We describe the algorithm and report experimental results of its success on 16 programs totaling 1.25 M lines of C code and 120K lines of module code, spanning eight classes of defects, in 357 seconds, on average. We analyze the generated repairs qualitatively and quantitatively to demonstrate that the process efficiently produces evolved programs that repair the defect, are not fragile input memorizations, and do not lead to serious degradation in functionality.
Keywords:
Automatic programming
corrections
testing and debugging
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

U
University of Virginia
Scholars:
3.0W
Papers: 2.7W
Citations: 4.1W
U
university of new mexico
Scholars:
1.6W
Papers: 1.3W
Citations: 25