← All publications
VMCAI 2021

Netter: Probabilistic, Stateful Network Models

A language for probabilistic, stateful network models that compiles to Markov chains to verify quantitative properties like latency and failure rates.

Han Zhang, Chi Zhang, Arthur Azevedo de Amorim, Yuvraj Agarwal, Matt Fredrickson, Limin Jia
VMCAI 2021 -- The 22nd International Conference on Verification, Model Checking, and Abstract Interpretation
Netter workflow: a Netter program and performance metrics are compiled to a Markov chain, which the Storm model checker analyzes against user-specified properties.
Netter workflow: a Netter program and performance metrics are compiled to a Markov chain, which the Storm model checker analyzes against user-specified properties.

Abstract

We study the problem of using probabilistic network models to formally analyze their quantitative properties, such as the effect of different load-balancing strategies on the long-term traffic on a server farm. Compared to prior work, we explore a different design space in terms of tradeoffs between model expressiveness and analysis scalability, which we realize in a language we call Netter. Netter code is compiled to probabilistic automata, undergoing optimization passes to reduce the state space of the generated models, thus helping verification scale. We evaluate Netter on several case studies, including a probabilistic load balancer, a routing scheme reminiscent of MPLS, and a network defense mechanism against link-flooding attacks. Our results show that Netter can analyze quantitative properties of interesting routing schemes that prior work hadn't addressed, for networks of small size (4–9 nodes and a few different types of flows). Moreover, when specialized to simpler, stateless networks, Netter can parallel the performance of previous state-of-the-art tools, scaling up to millions of nodes.

Video