Generic and Automated Runtime Program Repair
Final rept. Nov 2010-May 2012
VIRGINIA UNIV CHARLOTTESVILLE DEPT OF COMPUTER SCIENCE
Pagination or Media Count:
This document is the final technical report for Award FA8750-11-2-0039, Generic and Automated Runtime Program Repair. The work carried out under this and other awards aimed to reduce costs associated with software maintenance by improving GenProg, a technique for the automated repair of program defects. This report discusses technical improvements to GenProg and its evaluation on over 100 defects in over 5 million lines of code involving over 10,000 test cases. In addition, this report details algorithms developed to automatically infer important program specifications nonlinear invariants between program variables, invariants involving arrays, and invariants describing the use of programming interfaces. Finally, this report elaborates on techniques for scaling Gen- Prog to resource-constrained environments, such as embedded systems. Executable binaries and assembly-language programs for the x86 and ARM architectures are specifically targeted. Advances allow program repairs to be carried out using 15 of the memory and 5 of the disk space of pre-award work, and concrete examples of repairs using Nokia N900 smartphones are described. Overall the work partially supported by this award combines empirical and theoretical advances to significantly extend the reach of automated program repair.
- Computer Programming and Software