Leapfrog: Certified Equivalence for Protocol Parsers

05/18/2022
by   Ryan Doenges, et al.
0

We present Leapfrog, a Coq-based framework for verifying equivalence of network protocol parsers. Our approach is based on an automata model of P4 parsers, and an algorithm for symbolically computing a compact representation of a bisimulation, using "leaps." Proofs are powered by a certified compilation chain from first-order entailments to low-level bitvector verification conditions, which are discharged using off-the-shelf SMT solvers. As a result, parser equivalence proofs in Leapfrog are fully automatic and push-button. We mechanically prove the core metatheory that underpins our approach, including the key transformations and several optimizations. We evaluate Leapfrog on a range of practical case studies, all of which require minimal configuration and no manual proof. Our largest case study uses Leapfrog to perform translation validation for a third-party compiler from automata to hardware pipelines. Overall, Leapfrog represents a step towards a world where all parsers for critical network infrastructure are verified. It also suggests directions for follow-on efforts, such as verifying relational properties involving security.

READ FULL TEXT

page 10

page 20

page 21

research
12/09/2018

Equivalence of pushdown automata via first-order grammars

A decidability proof for bisimulation equivalence of first-order grammar...
research
11/04/2020

Probabilistic Bisimulation for Parameterized Systems (Technical Report)

Probabilistic bisimulation is a fundamental notion of process equivalenc...
research
01/26/2018

Relational Equivalence Proofs Between Imperative and MapReduce Algorithms

MapReduce frameworks are widely used for the implementation of distribut...
research
04/06/2020

Formal Verification of Flow Equivalence in Desynchronized Designs

Seminal work by Cortadella, Kondratyev, Lavagno, and Sotiriou includes a...
research
01/12/2018

Symbolic Timed Observational Equivalence

Intruders can infer properties of a system by measuring the time it take...
research
07/31/2021

Enabling Preserving Bisimulation Equivalence

Most fairness assumptions used for verifying liveness properties are cri...

Please sign up or login with your details

Forgot password? Click here to reset