Automatic program repair with evolutionary computation

Westley Weimer, Stephanie Forrest, Claire Le Goues, Thanhvu Nguyen

Research output: Contribution to journalArticle

109 Scopus citations


There are many methods for detecting and mitigating software errors but few generic methods for automatically repairing errors once they are discovered. This paper highlights recent work combining program analysis methods with evolutionary computation to automatically repair bugs in off-the-shelf legacy C programs. The method takes as input the buggy C source code, a failed test case that demonstrates the bug, and a small number of other test cases that encode the required functionality of the program. The repair procedure does not rely on formal specifications, making it applicable to a wide range of extant software for which formal specifications rarely exist.

Original languageEnglish (US)
Pages (from-to)109-116
Number of pages8
JournalCommunications of the ACM
Issue number5
StatePublished - May 1 2010


ASJC Scopus subject areas

  • Computer Science(all)

Cite this