English
Related papers

Related papers: Probabilistic Program Equivalence for NetKAT

200 papers

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…

Programming Languages · Computer Science 2019-04-18 Steffen Smolka , Praveen Kumar , David M Kahn , Nate Foster , Justin Hsu , Dexter Kozen , Alexandra Silva

ProbNetKAT is a probabilistic extension of NetKAT with a denotational semantics based on Markov kernels. The language is expressive enough to generate continuous distributions, which raises the question of how to compute effectively in the…

Programming Languages · Computer Science 2018-12-18 Steffen Smolka , Praveen Kumar , Nate Foster , Dexter Kozen , Alexandra Silva

We develop StacKAT, a network verification language featuring loops, finite state variables, nondeterminism, and - most importantly - access to a stack with accompanying push and pop operations. By viewing the variables and stack as the…

Programming Languages · Computer Science 2025-06-17 Jules Jacobs , Nate Foster , Tobias Kappé , Dexter Kozen , Lily Saada , Alexandra Silva , Jana Wagemaker

We present MatchKAT, an algebraic language for modeling match-action packet processing in network switches. Although the match-action paradigm has remained a popular low-level programming model for specifying packet forwarding behavior,…

Formal Languages and Automata Theory · Computer Science 2021-02-16 Xiang Long

NetKAT is a domain-specific programming language and logic that has been successfully used to specify and verify the behavior of packet-switched networks. This paper develops techniques for automatically learning NetKAT models of unknown…

Programming Languages · Computer Science 2025-05-26 Mark Moeller , Tiago Ferreira , Thomas Lu , Nate Foster , Alexandra Silva

We introduce Concurrent NetKAT (CNetKAT), an extension of NetKAT with operators for specifying and reasoning about concurrency in scenarios where multiple packets interact through state. We provide a model of the language based on…

Programming Languages · Computer Science 2023-02-03 Jana Wagemaker , Nate Foster , Tobias Kappé , Dexter Kozen , Jurriaan Rot , Alexandra Silva

Proving programs terminating is a fundamental computer science challenge. Recent research has produced powerful tools that can check a wide range of programs for termination. The analog for probabilistic programs, namely termination with…

Logic in Computer Science · Computer Science 2012-04-16 Javier Esparza , Andreas Gaiser , Stefan Kiefer

Programmability and verifiability lie at the heart of the software-defined networking paradigm. While OpenFlow and its match-action concept provide primitive operations to manipulate hardware configurations, over the last years, several…

Networking and Internet Architecture · Computer Science 2016-12-01 Kim G. Larsen , Stefan Schmid , Bingtian Xue

Synchronous languages are now a standard industry tool for critical embedded systems. Designers write high-level specifications by composing streams of values using block diagrams. These languages have been extended with Bayesian reasoning…

Programming Languages · Computer Science 2023-09-11 Guillaume Baudart , Louis Mandel , Christine Tasson

Time-triggered switched networks are a deterministic communication infrastructure used by real-time distributed embedded systems. Due to the criticality of the applications running over them, developers need to ensure that end-to-end…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-01-16 Guy Avni , Shubham Goel , Thomas A. Henzinger , Guillermo Rodriguez-Navas

We introduce weighted NetKAT, a domain-specific language for modeling and verifying 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…

Programming Languages · Computer Science 2026-04-16 Emmanuel Suárez Acevedo , Tiago Ferreira , Kevin Batz , Oliver Bøving , Nate Foster , Alexandra Silva

Much work has been done to give semantics to probabilistic programming languages. In recent years, most of the semantics used to reason about probabilistic programs fall in two categories: semantics based on Markov kernels and semantics…

Logic in Computer Science · Computer Science 2023-03-06 Pedro H. Azevedo de Amorim

We introduce Probabilistic Guarded Kleene Algebra with Tests (ProbGKAT), an extension of GKAT that allows reasoning about uninterpreted imperative programs with probabilistic branching. We give its operational semantics in terms of special…

Logic in Computer Science · Computer Science 2023-05-04 Wojciech Różowski , Tobias Kappé , Dexter Kozen , Todd Schmid , Alexandra Silva

We consider the problems of statically refuting equivalence and similarity of output distributions defined by a pair of probabilistic programs. Equivalence and similarity are two fundamental relational properties of probabilistic programs…

Programming Languages · Computer Science 2024-04-05 Krishnendu Chatterjee , Ehsan Kafshdar Goharshady , Petr Novotný , Đorđe Žikelić

We present the SER modeling language for automatically verifying serializability of concurrent programs, i.e., whether every concurrent execution of the program is equivalent to some serial execution. SER programs are suitably restricted to…

Formal Languages and Automata Theory · Computer Science 2026-01-21 Guy Amir , Mark Barbone , Nicolas Amat , Jules Jacobs

We introduce a sound and complete equational theory capturing equivalence of discrete probabilistic programs, that is, programs extended with primitives for Bernoulli distributions and conditioning, to model distributions over finite sets…

Logic in Computer Science · Computer Science 2024-08-28 Robin Piedeleu , Mateo Torres-Ruiz , Alexandra Silva , Fabio Zanasi

The formal verification of large probabilistic models is important and challenging. Exploiting the concurrency that is often present is one way to address this problem. Here we study a restricted class of asynchronous distributed…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-08-06 Sumit Kumar Jha , Madhavan Mukund , Ratul Saha , P S Thiagarajan

Verification of infinite-state Markov chains is still a challenge despite several fruitful numerical or statistical approaches. For decisive Markov chains, there is a simple numerical algorithm that frames the reachability probability as…

Logic in Computer Science · Computer Science 2024-09-30 Benoît Barbot , Patricia Bouyer , Serge Haddad

An important question for a probabilistic program is whether the probability mass of all its diverging runs is zero, that is that it terminates "almost surely". Proving that can be hard, and this paper presents a new method for doing so; it…

Programming Languages · Computer Science 2017-12-27 Annabelle McIver , Carroll Morgan , Benjamin Lucien Kaminski , Joost-Pieter Katoen

Probabilistic programming languages rely fundamentally on some notion of sampling, and this is doubly true for probabilistic programming languages which perform Bayesian inference using Monte Carlo techniques. Verifying samplers - proving…

Programming Languages · Computer Science 2023-04-27 Fredrik Dahlqvist , Alexandra Silva , William Smith
‹ Prev 1 2 3 10 Next ›