KATch: A Fast Symbolic Verifier for NetKAT
Mark Moeller, Jules Jacobs, Olivier Savary Bélanger, David Darais, Cole Schlesinger, Steffen Smolka, Nate Foster, Alexandra Silva
Abstract
We develop new data structures and algorithms for checking verification queries in NetKAT, a domain-specific language for specifying the behavior of network data planes. Our results extend the techniques obtained in prior work on symbolic automata and provide a framework for building efficient and scalable verification tools. We present KATch, an implementation of these ideas in Scala, featuring an extended set of NetKAT operators that are useful for expressing network-wide specifications, and a verification engine that constructs a bisimulation or generates a counter-example showing that none exists. We evaluate the performance of our implementation on real-world and synthetic benchmarks, verifying properties such as reachability and slice isolation, typically returning a result in well under a second, which is orders of magnitude faster than previous approaches. Our advancements underscore NetKAT's potential as a practical, declarative language for network specification and verification.
CCS Concepts: • Theory of computation → Formal languages and automata theory.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 5e053c94-b105-4041-b207-06457ec6bd3dCited by top-tier papers5
- Active Learning of Symbolic NetKAT AutomataMark Moeller, Tiago Ferreira, Thomas Lu, Nate Foster et al.PLDI 2025 · 4 citations
- CF-GKAT: Efficient Validation of Control-Flow TransformationsCheng Zhang, Tobias Kappé, David E. Narváez, Nico NausPOPL 2025 · 3 citations
- Network Change Validation with Relational NetKATHan Xu, Zachary Kincaid, Ratul Mahajan, David WalkerPOPL 2026 · 1 citation
- Weighted NetKAT: A Programming Language for Quantitative Network VerificationEmmanuel Suárez Acevedo, Tiago Ferreira, Kevin Batz, Oliver Bøving et al.PLDI 2026 · 1 citation
- StacKAT: Infinite State Network VerificationJules Jacobs, Nate Foster, Tobias Kappé, Dexter Kozen et al.PLDI 2025
Builds on8
- APKeep: Realtime Verification for Real NetworksPeng Zhang, Xu Liu, Hongkun Yang, Ning Kang et al.NSDI 2020 · 99 citations
- Abstract interpretation of distributed network control planesRyan Beckett, Aarti Gupta, Ratul Mahajan, David WalkerPOPL 2020 · 46 citations
- Lessons from the evolution of the Batfish configuration analysis toolMatt Brown, Ari Fogel, Daniel Halperin, Victor Heorhiadi et al.SIGCOMM 2023 · 37 citations
- Lightyear: Using Modularity to Scale BGP Control Plane VerificationAlan Tang, Ryan Beckett, Steven Benaloh, Karthick Jayaraman et al.SIGCOMM 2023 · 33 citations
- Guarded Kleene algebra with tests: verification of uninterpreted programs in nearly linear timeSteffen Smolka, Nate Foster, Justin Hsu, Tobias Kappé et al.POPL 2020 · 32 citations
Related papers
- Katra: Realtime Verification for Multilayer NetworksRyan Beckett, Aarti GuptaNSDI 2022
- NetSMC: A Custom Symbolic Model Checker for Stateful Network VerificationYifei Yuan, Soo-Jin Moon, Sahil Uppal, Limin Jia et al.NSDI 2020 · 42 citations
- On Temporal Verification of Stateful P4 ProgramsDelong Zhang, Chong Ye, Fei HeNSDI 2025 · 6 citations
- Hydra: Effective Runtime Network VerificationSundararajan Renganathan, Benny Rubin, Hyojoon Kim, Pier Luigi Ventre et al.SIGCOMM 2023 · 11 citations
- Differential Network AnalysisPeng Zhang, Aaron Gember-Jacobson, Yueshang Zuo, Yuhao Huang et al.NSDI 2022
