Automated program repair through the evolution of assembly code

Eric Schulte, Stephanie Forrest, Westley Weimer

Research output: Chapter in Book/Report/Conference proceedingConference contribution

36 Scopus citations

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.

Original languageEnglish (US)
Title of host publicationASE'10 - Proceedings of the IEEE/ACM International Conference on Automated Software Engineering
Pages313-316
Number of pages4
DOIs
StatePublished - Dec 10 2010
Event25th IEEE/ACM International Conference on Automated Software Engineering, ASE'10 - Antwerp, Belgium
Duration: Sep 20 2010Sep 24 2010

Publication series

NameASE'10 - Proceedings of the IEEE/ACM International Conference on Automated Software Engineering

Other

Other25th IEEE/ACM International Conference on Automated Software Engineering, ASE'10
CountryBelgium
CityAntwerp
Period9/20/109/24/10

    Fingerprint

Keywords

  • Assembly code
  • Bytecode
  • Evolutionary computation
  • Fault localization
  • Legacy software
  • Program repair

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Human-Computer Interaction
  • Software

Cite this

Schulte, E., Forrest, S., & Weimer, W. (2010). Automated program repair through the evolution of assembly code. In ASE'10 - Proceedings of the IEEE/ACM International Conference on Automated Software Engineering (pp. 313-316). (ASE'10 - Proceedings of the IEEE/ACM International Conference on Automated Software Engineering). https://doi.org/10.1145/1858996.1859059