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

by   Vasileios Koutavas, et al.

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.


page 1

page 2

page 3

page 4


Bounded Invariant Checking for Stateflow

Stateflow models are complex software models, often used as part of indu...

Higher-Order Bounded Model Checking

We present a Bounded Model Checking technique for higher-order programs....

Symbolic Execution Game Semantics

We present a framework for symbolically executing and model checking hig...

Bounded Invariant Checking for Stateflow Programs

Stateflow models are complex software models, often used as part of safe...

A Game Characterization for Contrasimilarity

We present the first game characterization of contrasimilarity, the weak...

Checking Timed Bisimulation with Bounded Zone-History Graphs – Technical Report

Timed automata (TA) are a well-established formalism for discrete-state/...

POR for Security Protocol Equivalences: Beyond Action-Determinism

Formal methods have proved effective to automatically analyze protocols....