Reference. Probabilistic NetKAT
Cite
Cited by (4)
A Fast Quantitative Analyzer for NetKAT lu-2026-a
When designing a network, engineers must navigate trade-offs (e.g., one topology offers more aggregate bandwidth, another lower latency or better resilience) that demand reasoning about quantitative properties. We present a fast analyzer for quantitative network properties based on weighted NetKAT (wNetKAT), a domain-specific language that provides a semantic foundation for quantitative reasoning by modeling network behavior using weights drawn from a semiring. At the core of our development is the design of a symbolic data structure – weighted symbolic packet programs (wSPPs) – that compactly represent the semantics of weighted policies, for which a direct implementation would be intractable. We show how to compute all policy constructs symbolically; unsurprisingly, the crux is Kleene star, for which we design a tailored algorithm. We further develop trace-carrying Pareto semirings, which compute multi-objective frontiers together with the network paths that realize them. We formalize the development in Lean and provide an optimized Rust implementation. Being parametric on a semiring, our implementation covers both classical and quantitative analyses: we show that it is competitive with KATch, a heavily optimized Boolean-reachability verifier, and orders of magnitude faster than McNetKAT and Storm on probabilistic analyses. A case study comparing Fat-tree and Jellyfish data-center topologies shows the framework supports multi-objective design-time analysis.
Weighted NetKAT: A Programming Language for Quantitative Network Verification suarezacevedo-2026-weighted
We introduce weighted NetKAT, a domain-specific language for modeling and verifying quantitative quantitative network properties. The language is parametric on a semiring , enabling the treatment of a wide range of quantities in a uniform way. We provide a denotational semantics and an equivalent operational semantics, the latter based on a novel model of weighted NetKAT automata ( WNKA ) capturing the stateful behavior of our language. With WNKA , we obtain a class of generic decision procedures for reasoning about quantitative safety and reachability in a fully automatic way, even in the presence of possibly unbounded iteration. We demonstrate the applicability of our framework in a case study using Internet2’s Abilene network as the underlying topology.
On incorrectness logic and Kleene algebra with top and tests zhang-2022-on
Kleene algebra with tests (KAT) is a foundational equational framework for reasoning about programs, which has found applications in program transformations, networking and compiler optimizations, among many other areas. In his seminal work, Kozen proved that KAT subsumes propositional Hoare logic, showing that one can reason about the (partial) correctness of while programs by means of the equational theory of KAT. In this work, we investigate the support that KAT provides for reasoning about incorrectness, instead, as embodied by O’Hearn’s recently proposed incorrectness logic. We show that KAT cannot directly express incorrectness logic. The main reason for this limitation can be traced to the fact that KAT cannot express explicitly the notion of codomain, which is essential to express incorrectness triples. To address this issue, we study Kleene Algebra with Top and Tests (TopKAT), an extension of KAT with a top element. We show that TopKAT is powerful enough to express a codomain operation, to express incorrectness triples, and to prove all the rules of incorrectness logic sound. This shows that one can reason about the incorrectness of while-like programs by means of the equational theory of TopKAT.
Guarded Kleene algebra with tests: verification of uninterpreted programs in nearly linear time smolka-2019-guarded
Guarded Kleene Algebra with Tests (GKAT) is a variation on Kleene Algebra with Tests (KAT) that arises by restricting the union (+) and iteration (*) operations from KAT to predicate-guarded versions. We develop the (co)algebraic theory of GKAT and show how it can be efficiently used to reason about imperative programs. In contrast to KAT, whose equational theory is PSPACE-complete, we show that the equational theory of GKAT is (almost) linear time. We also provide a full Kleene theorem and prove completeness for an analogue of Salomaa’s axiomatization of Kleene Algebra.
Cites 51 works (2 here)
With notes (2)
NetKAT: Semantic foundations for networks anderson2014netkat
Recent years have seen growing interest in high-level languages for programming networks. But the design of these languages has been largely ad hoc, driven more by the needs of applications and the capabilities of network hardware than by foundational principles. The lack of a semantic foundation has left language designers with little guidance in determining how to incorporate new features, and programmers without a means to reason precisely about their code. This paper presents NetKAT, a new network programming language that is based on a solid mathematical foundation and comes equipped with a sound and complete equational theory. We describe the design of NetKAT, including primitives for filtering, modifying, and transmitting packets; union and sequential composition operators; and a Kleene star operator that iterates programs. We show that NetKAT is an instance of a canonical and well-studied mathematical structure called a Kleene algebra with tests (KAT) and prove that its equational theory is sound and complete with respect to its denotational semantics. Finally, we present practical applications of the equational theory including syntactic techniques for checking reachability, proving non-interference properties that ensure isolation between programs, and establishing the correctness of compilation algorithms.
Kleene algebra with tests kozen1997kleene
We introduce Kleene algebra with tests, an equational system for manipulating programs. We give a purely equational proof, using Kleene algebra with tests and commutativity conditions, of the following classical result: every while program can be simulated by a while program with at most one while loop. The proof illustrates the use of Kleene algebra with tests and commutativity conditions in program equivalence proofs.
External (49)
- A fast compiler for NetKAT (2015)
- Probabilistic NetKAT (full version) (2015)
- Conditioning in probabilistic programming (2015)
- P4: programming protocol-independent packet processors (2014)
- A Coalgebraic Decision Procedure for NetKAT (2014)
- Probabilistic programming (2014)
- Tierless programming and reasoning for software-defined networks (2014)
- Libra: divide and conquer to verify forwarding tables in huge networks (2014)
- VeriFlow: verifying network-wide invariants in real time (2013)
- Strong completeness for Markovian logics (2013)
- Maple: simplifying SDN programming using algorithmic policies (2013)
- Composing software defined networks (2013)
- Taking It to the Limit: Approximate Reasoning for Markov Processes (2012)
- Header space analysis: static checking for networks (2012)
- Measure transformer semantics for Bayesian machine learning (2011)
- Frenetic: a network programming language (2011)
- Understanding network failures in data centers (2011)
- Computability, inference and modeling in probabilistic programming (2011)
- Labelled Markov Processes (2009)
- Semantic domains for combining probability and nondeterminism (2009)
- OpenFlow: enabling innovation in campus networks (2008)
- Using probabilistic Kleene algebra pKA for protocol verification (2008)
- Stochastic Relations: Foundations for Markov Transition Systems (2007)
- Symbolic model checking for probabilistic timed automata (2007)
- A basic stochastic network calculus (2006)
- Probability and nondeterminism in operational models of concurrency (2006)
- Distributing probability over non-determinism (2006)
- Abstraction, Refinement and Proof for Probabilistic Systems (2005)
- Designing a predictable internet backbone with valiant load-balancing (2005)
- Metrics for labelled Markov processes (2004)
- Decision algorithms for probabilistic bisimulation (2002)
- Bisimulation for Labelled Markov Processes (2002)
- Traffic matrix estimation: existing techniques and new directions (2002)
- Network Calculus: A Theory of Deterministic Queuing Systems for the Internet (2001)
- Probabilistic predicate transformers (1996)
- Probabilistic simulations for probabilistic processes (1995)
- A calculus for network delay. I. Network elements in isolation (1991)
- Bisimulation through probabilistic testing (1991)
- Specification and refinement of probabilistic processes (1991)
- Epidemic algorithms for replicated database maintenance (1987)
- Measure Theory and Integration (1987)
- A probabilistic PDL (1985)
- A Scheme for Fast Parallel Communication (1982)
- Semantics of probabilistic programs (1981)
- Formalizing the analysis of algorithms (1979)
- Probabilistic LCF (1978)
- A Course in Probability Theory (1974)
- Introduction to Probabilistic Automata (1971)
- Measure Theory (1950)