A Coalgebraic Decision Procedure for NetKAT

作者:Foster Nate*; Kozen Dexter; Milano Matthew; Silva Alexandra; Thompson Laure
来源:ACM Sigplan Notices, 2015, 50(1): 343-355.
DOI:10.1145/10.1145/2676726.2677011

摘要

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 allpairs connectivity, loop-freedom, and translation validation.

  • 出版日期2015-1