Leapfrog: certified equivalence for protocol parsers

Ryan Doenges, Tobias Kappé, John Sarracino, Nate Foster, Greg Morrisett · 2022

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.

Read the paper · More papers on PaperTik