Effective use of SMT solvers for program equivalence checking through invariant-sketching and query-decomposition

11Citations
Citations of this article
11Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Program equivalence checking is a fundamental problem in computer science with applications to translation validation and automatic synthesis of compiler optimizations. Contemporary equivalence checkers employ SMT solvers to discharge proof obligations generated by their equivalence checking algorithm. Equivalence checkers also involve algorithms to infer invariants that relate the intermediate states of the two programs being compared for equivalence. We present a new algorithm, called invariant-sketching, that allows the inference of the required invariants through the generation of counter-examples using SMT solvers. We also present an algorithm, called query-decomposition, that allows a more capable use of SMT solvers for application to equivalence checking. Both invariant-sketching and query-decomposition help us prove equivalence across program transformations that could not be handled by previous equivalence checking algorithms.

Cite

CITATION STYLE

APA

Gupta, S., Saxena, A., Mahajan, A., & Bansal, S. (2018). Effective use of SMT solvers for program equivalence checking through invariant-sketching and query-decomposition. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 10929 LNCS, pp. 365–382). Springer Verlag. https://doi.org/10.1007/978-3-319-94144-8_22

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free