Steffen Smolka’s research while affiliated with Mountain View College and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (15)


KATch: A Fast Symbolic Verifier for NetKAT
  • Article

June 2024

·

4 Reads

·

3 Citations

Proceedings of the ACM on Programming Languages

Mark Moeller

·

Jules Jacobs

·

Olivier Savary Belanger

·

[...]

·

We develop new data structures and algorithms for checking verification queries in NetKAT, a domain-specific language for specifying the behavior of network data planes. Our results extend the techniques obtained in prior work on symbolic automata and provide a framework for building efficient and scalable verification tools. We present KATch, an implementation of these ideas in Scala, featuring an extended set of NetKAT operators that are useful for expressing network-wide specifications, and a verification engine that constructs a bisimulation or generates a counter-example showing that none exists. We evaluate the performance of our implementation on real-world and synthetic benchmarks, verifying properties such as reachability and slice isolation, typically returning a result in well under a second, which is orders of magnitude faster than previous approaches. Our advancements underscore NetKAT's potential as a practical, declarative language for network specification and verification.



Guarded Kleene algebra with tests: verification of uninterpreted programs in nearly linear time

December 2019

·

42 Reads

·

68 Citations

Proceedings of the ACM on Programming Languages

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.


Figure 5: Our Mininet network topology and configuration where the numbers represent port numbers at the switches.
Figure 9: Real network testbed with a Fitbit Charge 3 for sleep tracking and an iHealth Feel wireless blood pressure monitor.
Proof-Carrying Network Code
  • Conference Paper
  • Full-text available

November 2019

·

199 Reads

·

6 Citations

Computer networks often serve as the first line of defense against malicious attacks. Although there are a growing number of tools for defining and enforcing security policies in software-defined networks (SDNs), most assume a single point of control and are unable to handle the challenges that arise in networks with multiple administrative domains. For example, consumers may want want to allow their home IoT networks to be configured by device vendors, which raises security and privacy concerns. In this paper we propose a framework called Proof-Carrying Network Code (PCNC) for specifying and enforcing security in SDNs with interacting administrative domains. Like Proof-Carrying Authorization (PCA), PCNC provides methods for managing authorization domains, and like Proof-Carrying Code (PCC), PCNC provides methods for enforcing behavioral properties of network programs. We develop theoretical foundations for PCNC and evaluate it in simulated and real network settings, including a case study that considers security in IoT networks for home health monitoring.

Download

Guarded Kleene Algebra with Tests: Verification of Uninterpreted Programs in Nearly Linear Time

July 2019

·

48 Reads

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.


Scalable verification of probabilistic networks

June 2019

·

9 Reads

·

12 Citations

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.


Scalable Verification of Probabilistic Networks

April 2019

·

26 Reads

·

23 Citations

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.


Deciding Probabilistic Program Equivalence in NetKAT

July 2017

·

29 Reads

·

3 Citations

We tackle the problem of deciding whether a pair of probabilistic programs are equivalent in the context of Probabilistic NetKAT, a formal language for reasoning about the behavior of packet-switched networks. We show that the problem is decidable for the history-free fragment of the language. The main challenge lies in reasoning about iteration, which we address by a reduction to finite-state absorbing Markov chains. This approach naturally leads to an effective decision procedure based on stochastic matrices that we have implemented in an OCaml prototype. We demonstrate how to use this prototype to reason about probabilistic network programs.


Cantor Meets Scott: Semantic Foundations for Probabilistic Networks

May 2017

·

31 Reads

·

36 Citations

ACM SIGPLAN Notices

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 language. This paper gives an new characterization of ProbNetKAT’s semantics using domain theory, which provides the foundation needed to build a practical implementation. We show how to use the semantics to approximate the behavior of arbitrary ProbNetKAT programs using distributions with finite support. We develop a prototype implementation and show how to use it to solve a variety of problems including characterizing the expected congestion induced by different routing schemes and reasoning probabilistically about reachability in a network.


Cantor meets Scott: semantic foundations for probabilistic networks

May 2017

·

27 Reads

·

29 Citations

ACM SIGPLAN Notices

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 language. This paper gives an new characterization of ProbNetKAT’s semantics using domain theory, which provides the foundation needed to build a practical implementation. We show how to use the semantics to approximate the behavior of arbitrary ProbNetKAT programs using distributions with finite support. We develop a prototype implementation and show how to use it to solve a variety of problems including characterizing the expected congestion induced by different routing schemes and reasoning probabilistically about reachability in a network.


Citations (14)


... In particular, while NetKAT has an elegant theory based on using packets as actions in the automaton model, for learning network policies, it has an obvious drawback: the space of packets is exponential in the number of header bits-intractably large for all but toy policies. To overcome the large packet space challenge, recent work introduced a symbolic form of NetKAT automata [25]. Crucially, these automata are symbolic in both the transition labels and the state space. ...

Reference:

Active Learning of Symbolic NetKAT Automata
KATch: A Fast Symbolic Verifier for NetKAT
  • Citing Article
  • June 2024

Proceedings of the ACM on Programming Languages

... Additionally, P4 serves as a specification language to define the behavior of the switches as it provides a suitable level of abstraction, yet is detailed enough to accurately capture the behavior of the switch. It maintains a level of simplicity and formalism that allows for effective automated analysis [4]. ...

SwitchV: automated SDN switch validation with P4 models
  • Citing Conference Paper
  • August 2022

... These encoding are well-known in propositional dynamic logic [22,16] and Kleene algebra with tests (KAT) [23,24]. The set of PWP terms is the minimal subset W of PCoR { * } satisfying the following: ...

Guarded Kleene algebra with tests: verification of uninterpreted programs in nearly linear time
  • Citing Article
  • December 2019

Proceedings of the ACM on Programming Languages

... Considering a subset of temporal logic formulae, more efficient techniques have been proposed in [27] for reducing the model to a smaller one. Applying reduction on a high-level description before constructing the resulting model is available in [45,36]. ...

Scalable verification of probabilistic networks
  • Citing Conference Paper
  • June 2019

... The goal is to query for various properties about the network's behavior: for instance, the probability of a packet reaching the end of the network, or of a packet queue overflowing. This example task is inspired by prior work on using probabilistic programming languages to perform network verification [18,53]. The situation in Fig. 1 is a small illustrative example of packet arrival, but programs like it are extremely challenging for today's PPLs because they mix different kinds of program structure. ...

Scalable Verification of Probabilistic Networks
  • Citing Preprint
  • April 2019

... This is by no means an exhaustive list. A slightly modified program permits us to estimate the latency (i.e., the average length of a path), or by restricting the language, program equivalence becomes decidable, creating an easy way to verify correctness [Smolka et al. 2017a[Smolka et al. , 2019. For additional examples and details, the interested reader should consult the earlier work of Foster et al. [2016]. ...

Deciding Probabilistic Program Equivalence in NetKAT
  • Citing Article
  • July 2017

... In these settings, probabilistic programs describe distributions over system traces, which can be captured as formal languages or time series. Indeed, probabilistic programs are useful to describe the sequential executions of, e.g., network protocols [Smolka et al. 2017[Smolka et al. , 2019, computer hardware [Roberts et al. 2021], and planning problems [Sanner 2010]. Given a requirement, which describes the desirable traces in a formal language, the problem of temporal inference is then to determine the probability of program traces to meet the requirement (Fig. 1, black). ...

Cantor meets Scott: semantic foundations for probabilistic networks
  • Citing Article
  • May 2017

ACM SIGPLAN Notices

... Thus, we have two topologies on 2 N but they both generate the same Borel sets B, and hence, when equipped with the coin-flipping probability measure, the same Lebesgue completion. This follows from the fact that every basic Cantor open set is a finite Boolean combination of basic Scott open sets and vice versa [19]. ...

Cantor meets Scott: Domain-Theoretic Foundations for Probabilistic Network Programming
  • Citing Article
  • July 2016