Automated program repair through the evolution of assembly code

  • Authors:
  • Eric Schulte;Stephanie Forrest;Westley Weimer

  • Affiliations:
  • University of New Mexico, Albuquerque, NM, USA;University of New Mexico, Albuquerque, NM, USA;University of Virginia, Charlottesville, VA, USA

  • Venue:
  • Proceedings of the IEEE/ACM international conference on Automated software engineering
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

A method is described for automatically repairing legacy software at the assembly code level using evolutionary computation. The technique is demonstrated on Java byte code and x86 assembly programs, showing how to find program variations that correct defects while retaining desired behavior. Test cases are used to demonstrate the defect and define required functionality. The paper explores advantages of assembly-level repair over earlier work at the source code level - the ability to repair programs written in many different languages; and the ability to repair bugs that were previously intractable. The paper reports experimental results showing reasonable performance of assembly language repair even on non-trivial programs