Program repair as sound optimization of broken programs


Fischer, B., Saabas, A. and Uustalu, T. (2009) Program repair as sound optimization of broken programs 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering (TASE), 165-73|xiii+333.

Download

Full text not available from this repository.

Description/Abstract

We present a new, semantics-based approach to mechanical program repair where the intended meaning of broken programs (i.e., programs that may abort under a given, error-admitting language semantics) can be defined by a special, error-compensating semantics. Program repair can then become a compile-time, mechanical program transformation based on a program analysis. It turns a given program into one whose evaluations under the error-admitting semantics agree with those of the given program under the error-compensating semantics. We present the analysis and transformation as a type system with a transformation component, following the type-systematic approach to program optimization from our earlier work. The type-systematic method allows for simple soundness proofs of the repairs, based on a relational interpretation of the type system, as well as mechanical transformability of program correctness proofs between the Hoare logics for the error-compensating and error-admitting semantics. We first demonstrate our approach on the repair of file-handling programs with missing or superfluous open and close statements. Our framework shows that this repair is strikingly similar to partial redundancy elimination optimization commonly used by compilers. In a second example, we demonstrate the repair of programs operating a queue that can over- and underflow, including mechanical transformation of program correctness proofs.

Item Type: Article
Additional Information: Imported from ISI Web of Science
Organisations: Electronic & Software Systems
ePrint ID: 270197
Date :
Date Event
2009Published
Date Deposited: 21 Apr 2010 07:46
Last Modified: 21 Feb 2017 07:52
Projects:
Customization and Adaptation of Automatically Generated Code
Funded by: EPSRC (EP/F052669/1)
Led by: Bernd Fischer
1 July 2008 to 30 June 2011
Further Information:Google Scholar
URI: http://eprints.soton.ac.uk/id/eprint/270197

Actions (login required)

View Item View Item