2013 · 84 citations · 31 references
ComputingComputer EngineeringComputer ScienceAlgorithmsComputer ArchitectureFormal MethodsControl-flow AnalysisData-flow AnalysisDeductive VerificationEquivalence CheckingVerificationSimulation EquivalenceSimulation Relations
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.
31
The Art of Computer Programming
G.E. Whitesides · Nuclear Science and Engineering · 1970 · 6.1K citations
The Daikon system for dynamic detection of likely invariants
Michael D. Ernst, Jeff Perkins, Philip J. Guo et al. · Science of Computer Programming · 2007 · 1.1K citations
Translation validation for an optimizing compiler
George C. Necula · 2000 · 487 citations
Eric Schkufza, Rahul Sharma, Alex Aiken · 2013 · 277 citations