English

Leapfrog: Certified Equivalence for Protocol Parsers

Programming Languages 2023-02-03 v1

Abstract

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.

Keywords

Cite

@article{arxiv.2205.08762,
  title  = {Leapfrog: Certified Equivalence for Protocol Parsers},
  author = {Ryan Doenges and Tobias Kappé and John Sarracino and Nate Foster and Greg Morrisett},
  journal= {arXiv preprint arXiv:2205.08762},
  year   = {2023}
}
R2 v1 2026-06-24T11:20:46.225Z