Log In Sign Up

Scalable Verification of Probabilistic Networks

by   Steffen Smolka, et al.

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.


page 1

page 2

page 3

page 4


Verifying Reachability Properties in Markov Chains via Incremental Induction

There is a scalability gap between probabilistic and non-probabilistic v...

Deciding Probabilistic Program Equivalence in NetKAT

We tackle the problem of deciding whether a pair of probabilistic progra...

Scaling Exact Inference for Discrete Probabilistic Programs

Probabilistic programming languages (PPLs) are an expressive means of re...

Proving LTL Properties of Bitvector Programs and Decompiled Binaries (Extended)

There is increasing interest in applying verification tools to programs ...

Generating Functions for Probabilistic Programs

This paper investigates the usage of generating functions (GFs) encoding...

Bayesian Synthesis of Probabilistic Programs for Automatic Data Modeling

We present new techniques for automatically constructing probabilistic p...

Inductive Synthesis for Probabilistic Programs Reaches New Horizons

This paper presents a novel method for the automated synthesis of probab...