Scalable Verification of Probabilistic Networks

[ paper ] [ doi ]

PLDI 2019

Steffen Smolka, Praveen Kumar, David M Kahn, Nate Foster, Justin Hsu, Dexter Kozen, and Alexandra Silva.

Abstract

This paper presents McNetKAT, a scalable tool for verifying probabilistic network programs. McNetKAT is based on a new semantics for the guarded and history-free fragment of Probabilistic NetKAT in terms of finite-state, absorbing Markov chains. This view allows the semantics of all programs to be computed exactly, enabling construction of an automatic verification tool. Domain-specific optimizations and a parallelizing backend enable McNetKAT to analyze networks with thousands of nodes, automatically reasoning about general properties such as probabilistic program equivalence and refinement, as well as networking properties such as resilience to failures. We evaluate McNetKAT's scalability using real-world topologies, compare its performance against state-of-the-art tools, and develop an extended case study on a recently proposed data center network design.

Bibtex

@inproceedings{smolka2019mcnetkat,
  author = {Smolka, Steffen and Kumar, Praveen and Kahn, David M. and
      Foster, Nate and Hsu, Justin and Kozen, Dexter and Silva, Alexandra},
  title = {Scalable Verification of Probabilistic Networks},
  year = {2019},
  publisher = {Association for Computing Machinery},
  booktitle = {Proceedings of the 40th ACM SIGPLAN Conference on Programming
     Language Design and Implementation (PLDI)},
  pages = {190–203},
  location = {Phoenix, AZ, USA},
  series = {PLDI 2019}
}
[ paper ] [ doi ]