There and Back Again: From Bounded Checking to Verification of Program Equivalence via Symbolic Up-to Techniques

05/06/2021
by   Vasileios Koutavas, et al.
0

We present a bounded equivalence verification technique for higher-order programs with local state that combines fully abstract symbolic environmental bisimulations similar to symbolic game models, novel up-to techniques which are effective in practice even when terms diverge, and lightweight invariant annotations. The combination yields an equivalence checking technique with no false positives or negatives where all inequivalences can be automatically detected, and many equivalences can be automatically or semi-automatically proved, including all classical Meyer and Sieber equivalences. We realise the technique in a tool prototype called Hobbit and benchmark it with an extensive set of new and existing examples.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset