ARDiff: scaling program equivalence checking via iterative abstraction and refinement of common code

Sahar Badihi, Faridah Akinotcho, Yi Li, Julia Rubin · 2020

Equivalence checking techniques help establish whether two versions of a program exhibit the same behavior. The majority of popular techniques for formally proving/refuting equivalence relies on symbolic execution – a static analysis approach that reasons about program behaviors in terms of symbolic input variables. Yet, symbolic execution is difficult to scale in practice due to complex programming constructs, such as loops and non-linear arithmetic.

Read the paper · More papers on PaperTik