KATch: A Fast Symbolic Verifier for NetKAT

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Moeller, Mark, Jacobs, Jules, Belanger, Olivier Savary, Darais, David, Schlesinger, Cole, Smolka, Steffen, Foster, Nate, Silva, Alexandra
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866916488326152192
author Moeller, Mark
Jacobs, Jules
Belanger, Olivier Savary
Darais, David
Schlesinger, Cole
Smolka, Steffen
Foster, Nate
Silva, Alexandra
author_facet Moeller, Mark
Jacobs, Jules
Belanger, Olivier Savary
Darais, David
Schlesinger, Cole
Smolka, Steffen
Foster, Nate
Silva, Alexandra
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2404_04760
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle KATch: A Fast Symbolic Verifier for NetKAT
Moeller, Mark
Jacobs, Jules
Belanger, Olivier Savary
Darais, David
Schlesinger, Cole
Smolka, Steffen
Foster, Nate
Silva, Alexandra
Programming Languages
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.
title KATch: A Fast Symbolic Verifier for NetKAT
topic Programming Languages
url https://arxiv.org/abs/2404.04760