PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
January 1, 2009783 citations

Automatically finding patches using genetic programming

View Full Paper
WWWestley WeimerTNThanhVu NguyenCGClaire Le Goues

Key Points

Key points are not available for this paper at this time.

Abstract

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.

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

Weimer et al. (2009) studied this question.

synapsesocial.com/papers/6a0ead71a14f152feaf9b1cfhttps://doi.org/10.1109/icse.2009.5070536
Ask AI
Helpful
Bookmark
Share
View Full Paper