kirancodes.me
To Proof Maintenance & Beyond!

Data-driven equivalence checking

Rahul Sharma, Eric Schkufza, Berkeley R. Churchill, Alex Aiken

Abstract

We present a data driven algorithm for equivalence checking of two loops. The algorithm infers simulation relations using data from test runs. Once a candidate simulation relation has been obtained, off-the-shelf SMT solvers are used to check whether the simulation relation actually holds. The algorithm is sound: insufficient data will cause the proof to fail. We demonstrate a prototype implementation, called DDEC, of our algorithm, which is the first sound equivalence checker for loops written in x86 assembly.

DOI 10.1145/2509136.2509509

Related papers