Formal Verification of Flow Equivalence in Desynchronized Designs

04/06/2020
by   Jennifer Paykin, et al.
0

Seminal work by Cortadella, Kondratyev, Lavagno, and Sotiriou includes a hand-written proof that a particular handshaking protocol preserves flow equivalence, a notion of equivalence between synchronous latch-based specifications and their desynchronized bundled-data asynchronous implementations. In this work we identify a counterexample to Cortadella et al.'s proof illustrating how their protocol can in fact lead to a violation of flow equivalence. However, two of the less concurrent protocols identified in their paper do preserve flow equivalence. To verify this fact, we formalize flow equivalence in the Coq proof assistant and provide mechanized, machine-checkable proofs of our results.

READ FULL TEXT
research
08/10/2022

Verification of the busy-forbidden protocol (using an extension of the cones and foci framework)

The busy-forbidden protocol is a new readers-writer lock with no resourc...
research
11/08/2018

Bisimilarity of Open Terms in Stream GSOS

Stream GSOS is a specification format for operations and calculi on infi...
research
01/26/2018

Relational Equivalence Proofs Between Imperative and MapReduce Algorithms

MapReduce frameworks are widely used for the implementation of distribut...
research
05/10/2022

Strong Equivalence of Logic Programs with Ordered Disjunction: a Logical Perspective

Logic Programs with Ordered Disjunction (LPODs) extend classical logic p...
research
08/08/2021

Equivalence of Models of Cake-Cutting Protocols

The cake-cutting problem involves dividing a heterogeneous, divisible re...
research
05/18/2022

Leapfrog: Certified Equivalence for Protocol Parsers

We present Leapfrog, a Coq-based framework for verifying equivalence of ...
research
12/13/2021

Geometric Path Enumeration for Equivalence Verification of Neural Networks

As neural networks (NNs) are increasingly introduced into safety-critica...

Please sign up or login with your details

Forgot password? Click here to reset