LNCS Homepage
ContentsAuthor IndexSearch

Towards Modularly Comparing Programs Using Automated Theorem Provers

Chris Hawblitzel1, Ming Kawaguchi2, Shuvendu K. Lahiri1, and Henrique Rebêlo3

1Microsoft Research, Redmond, WA, USA

2University of California, San Diego, USA

3Federal University of Pernambuco, Brazil

Abstract. In this paper, we present a general framework for modularly comparing two (imperative) programs that can leverage single-program verifiers based on automated theorem provers. We formalize (i) mutual summaries for comparing the summaries of two programs, and (ii) relative termination to describe conditions under which two programs relatively terminate. The two rules together allow for checking correctness of interprocedural transformations. We also provide a general framework for dealing with unstructured control flow (including loops) in this framework. We demonstrate the usefulness and limitations of the framework for verifying equivalence, compiler optimizations, and interprocedural transformations.

LNAI 7898, p. 282 ff.

Full article in PDF | BibTeX


lncs@springer.com
© Springer-Verlag Berlin Heidelberg 2013