The University of Southampton
University of Southampton Institutional Repository

Program repair as sound optimization of broken programs

Program repair as sound optimization of broken programs
Program repair as sound optimization of broken programs
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.
165-73|xiii+333
IEEE
Fischer, B.
0c9575e6-d099-47f1-b3a2-2dbc93c53d18
Saabas, A.
d7fdc714-7260-4a2a-acb1-375712b0e2a2
Uustalu, T.
2adf94b7-4812-4e03-bd46-fedb160a3b49
Fischer, B.
0c9575e6-d099-47f1-b3a2-2dbc93c53d18
Saabas, A.
d7fdc714-7260-4a2a-acb1-375712b0e2a2
Uustalu, T.
2adf94b7-4812-4e03-bd46-fedb160a3b49

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

Record type: Conference or Workshop Item (Paper)

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.

This record has no associated files available for download.

More information

Published date: 2009
Additional Information: Imported from ISI Web of Science
Organisations: Electronic & Software Systems

Identifiers

Local EPrints ID: 270197
URI: http://eprints.soton.ac.uk/id/eprint/270197
PURE UUID: 9869a564-2ede-4ad7-9229-b813a3055737

Catalogue record

Date deposited: 21 Apr 2010 07:46
Last modified: 15 Mar 2024 21:48

Export record

Altmetrics

Contributors

Author: B. Fischer
Author: A. Saabas
Author: T. Uustalu

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×