Affiliation:
1. Cornell University, Ithaca, NY, USA
2. Radboud University Nijmegen, Nijmegen, Netherlands
Abstract
NetKAT is a domain-specific language and logic for specifying and verifying network packet-processing functions. It consists of Kleene algebra with tests (KAT) augmented with primitives for testing and modifying packet headers and encoding network topologies. Previous work developed the design of the language and its standard semantics, proved the soundness and completeness of the logic, defined a PSPACE algorithm for deciding equivalence, and presented several practical applications.
This paper develops the coalgebraic theory of NetKAT, including a specialized version of the Brzozowski derivative, and presents a new efficient algorithm for deciding the equational theory using bisimulation. The coalgebraic structure admits an efficient sparse representation that results in a significant reduction in the size of the state space. We discuss the details of our implementation and optimizations that exploit NetKAT's equational axioms and coalgebraic structure to yield significantly improved performance. We present results from experiments demonstrating that our tool is competitive with state-of-the-art tools on several benchmarks including all-pairs connectivity, loop-freedom, and translation validation.
Funder
National Science Foundation
Office of Naval Research
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Concurrent Kleene Algebra with Observations: From Hypotheses to Completeness;Lecture Notes in Computer Science;2020
2. P-Rex;Proceedings of the 14th International Conference on emerging Networking EXperiments and Technologies;2018-12-04
3. p4v;Proceedings of the 2018 Conference of the ACM Special Interest Group on Data Communication;2018-08-07
4. Completeness and Incompleteness in Nominal Kleene Algebra;Relational and Algebraic Methods in Computer Science;2015
5. Nominal Kleene Coalgebra;Automata, Languages, and Programming;2015