Leapfrog: Certified Equivalence for Protocol Parsers
summary
Leapfrog proves that a high-level P4 parser and its optimized target automaton recognize the same packet language by modeling parsers as finite automata, using a symbolic bisimulation with a weakest-precondition transformer and a new bypass optimization called bisimulation up to closure (leaps) to skip long buffering steps. Implementation is mechanized in Coq and uses the mirrorSolve SAT/SMT plugin. The tool translation-validates ParserGen outputs and emits Coq proof certificates for the examples attempted.
AI-written summary · about
chapters (11)
- 0:00Intro
- 0:11Parsing Matters for Security
- 0:59Programmable Parsing
- 2:00Parsing MPLS with a P4 Automaton
- 3:06Loop Unrolling Optimization
- 3:54Leapfrog Contributions
- 5:25Automata Semantics: Configurations
- 7:05Language Equivalence
- 7:58Concrete Algorithm
- 9:51Symbolic Algorithm
- 12:21Implementation
related talks
21mParDiff: Practical Static Differential Analysis of Network Protocol Parsers
12mAutomated Synthesis of Verified Firewalls
19mHOL4P4: mechanized small-step semantics for P4
12mAutomated Synthesis of Verified Firewalls
22mDependently-Typed Data Plane Programming
31mPfComp: A Verified Compiler for Packet Filtering Leveraging Binary Decision Diagr...
25mASN1*: Provably Correct, Non-Malleable Parsing for ASN.1 DER
25mFormal Verification of a Software Defined Delay-Tolerant Network
