Evolving patches for software repair

  • Authors:
  • Thomas Ackling;Bradley Alexander;Ian Grunert

  • Affiliations:
  • University of Adelaide, Adelaide, Australia;University of Adelaide, Adelaide, Australia;Atlassian Pty Ltd, Sydney, Australia

  • Venue:
  • Proceedings of the 13th annual conference on Genetic and evolutionary computation
  • Year:
  • 2011

Quantified Score

Hi-index 0.01

Visualization

Abstract

Defects are a major concern in software systems. Unsurprisingly, there are many tools and techniques to facilitate the removal of defects through their detection and localisation. However, there are few tools that attempt to repair defects. To date, evolutionary tools for software repair have evolved changes directly in the program code being repaired. In this work we describe an implementation: pyEDB, that encodes changes as a series of code modifications or patches. These modifications are evolved as individuals. We show pyEDB to be effective in repairing some small errors, including variable naming errors in Python programs. We also demonstrate that evolving patches rather than whole programs simplifies the removal of spurious errors.