Automatic program repair with evolutionary computation

  • Authors:
  • Westley Weimer;Stephanie Forrest;Claire Le Goues;ThanhVu Nguyen

  • Affiliations:
  • University of Virginia;University of New Mexico;University of Virginia;University of New Mexico

  • Venue:
  • Communications of the ACM
  • Year:
  • 2010

Quantified Score

Hi-index 48.22

Visualization

Abstract

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.