Data-driven equivalence checking

Rahul Sharma, Eric Schkufza, Berkeley Churchill, Alex Aiken
2013 SIGPLAN notices  
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/2544173.2509509 fatcat:6yzrt2snrzaifbea2yrtmbwnsm