Affiliation:
1. Stanford University, Stanford, CA, USA
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
9 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Translation Validation of Information Leakage of Compiler Optimizations;IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems;2023-11
2. CryptOpt: Verified Compilation with Randomized Program Search for Cryptographic Primitives;Proceedings of the ACM on Programming Languages;2023-06-06
3. Proving and Disproving Equivalence of Functional Programming Assignments;Proceedings of the ACM on Programming Languages;2023-06-06
4. Lockstep Composition for Unbalanced Loops;Tools and Algorithms for the Construction and Analysis of Systems;2023
5. PEQtest: Testing Functional Equivalence;Fundamental Approaches to Software Engineering;2022