EDBT 2026 Demo / reviewers in the wild / expert
Steffen Smolka
dblp:164/5888
· DBLP profile ↗
7ranked-venue papers
4as first author
2since 2021 · last 2024
0000-0001-8625-5490ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 4 first-author · 1 since 2021Computer networks · 1 · 1 since 2021Security and privacy · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer networks
5 papers |
Network management and operations · 49% Software-defined and programmable networks · 46% Internet of things and sensor networks · 3% | |
| Theoretical computer science
2 papers |
Automata and formal languages · 64% Logic in computer science · 36% | |
| Software engineering, system software, and programming languages
1 paper |
Programming languages and type systems · 100% | |
| Network and information security
1 paper |
Authentication and access control · 100% |
Topics — the 9 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Network management and operations
network verification |
2.0 | 4 | 2024 | KATch: A Fast Symbolic Verifier for NetKAT · Proc. ACM Program. Lang. 2024 SwitchV: automated SDN switch validation with P4 models · SIGCOMM 2022 Scalable verification of probabilistic networks · PLDI 2019 |
Software-defined and programmable networks
programmable data plane |
1.0 | 2 | 2022 | SwitchV: automated SDN switch validation with P4 models · SIGCOMM 2022 Scalable verification of probabilistic networks · PLDI 2019 |
Automata and formal languages › automata over infinite alphabets
symbolic automata |
0.8 | 1 | 2024 | KATch: A Fast Symbolic Verifier for NetKAT · Proc. ACM Program. Lang. 2024 |
Software-defined and programmable networks › network programming
network programming languages |
0.5 | 2 | 2024 | Cantor meets scott: semantic foundations for probabilistic networks · POPL 2017 KATch: A Fast Symbolic Verifier for NetKAT · Proc. ACM Program. Lang. 2024 |
Programming languages and type systems
equational reasoning |
0.4 | 1 | 2020 | Guarded Kleene algebra with tests: verification of uninterpreted programs in nearly linear time · Proc. ACM Program. Lang. 2020 |
Logic in computer science › algebraic logic
kleene algebra |
0.4 | 1 | 2020 | Guarded Kleene algebra with tests: verification of uninterpreted programs in nearly linear time · Proc. ACM Program. Lang. 2020 |
Authentication and access control › security policy
security policy verification |
0.4 | 1 | 2019 | Proof-Carrying Network Code · CCS 2019 |
Internet of things and sensor networks
iot security |
0.1 | 1 | 2019 | Proof-Carrying Network Code · CCS 2019 |
Network performance modeling
network congestion |
0.1 | 1 | 2017 | Cantor meets scott: semantic foundations for probabilistic networks · POPL 2017 |
Methods — techniques the papers use, named apart from their topics
symbolic automata · 1.5bisimulation · 1.5salomaa axiomatization · 0.9kleene theorem · 0.9coalgebra · 0.9proof-carrying code · 0.8proof-carrying authorization · 0.8p4 model · 0.6parallelization · 0.4markov chain semantics · 0.4markov kernels · 0.3domain theory · 0.3denotational semantics · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | KATch: A Fast Symbolic Verifier for NetKATabstractWe 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. Mark Moeller, Jules Jacobs, Olivier Savary Bélanger, David Darais, Cole Schlesinger, Steffen Smolka, Nate Foster, Alexandra Silva 0001 |
Proc. ACM Program. Lang. | 6 |
| 2022 | SwitchV: automated SDN switch validation with P4 modelsabstractIncreasing demand on computer networks continuously pushes manufacturers to incorporate novel features and capabilities into their switches at an ever-accelerating pace. However, the traditional approach to switch development relies on informal specifications and handcrafted tests to ensure reliability, which are tedious and slow to maintain and update, effectively putting feature velocity at odds with reliability. Kinan Dak Albab, Jonathan DiLorenzo, Stefan Heule, Ali Kheradmand, Steffen Smolka, Konstantin Weitz, Muhammad Timarzi, Minlan Yu |
SIGCOMM | 5 |
| 2020 | Guarded Kleene algebra with tests: verification of uninterpreted programs in nearly linear timeabstractGuarded 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. Steffen Smolka, Nate Foster, Justin Hsu, Tobias Kappé, Dexter Kozen, Alexandra Silva 0001 |
Proc. ACM Program. Lang. | 1 |
| 2019 | Proof-Carrying Network CodeabstractComputer 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. Christian Skalka, John H. Ring, David Darais, Minseok Kwon, Sahil Gupta, Kyle Diller, Steffen Smolka, Nate Foster |
CCS | 7 |
| 2019 | Scalable verification of probabilistic networksabstractThis 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. Steffen Smolka, Praveen Kumar 0003, David M. Kahn, Nate Foster, Justin Hsu, Dexter Kozen, Alexandra Silva 0001 |
PLDI | 1 |
| 2017 | Cantor meets scott: semantic foundations for probabilistic networksabstractProbNetKAT 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. Steffen Smolka, Praveen Kumar 0003, Nate Foster, Dexter Kozen, Alexandra Silva 0001 |
POPL | 1 |
| 2015 | A fast compiler for NetKATabstractHigh-level programming languages play a key role in a growing number of networking platforms, streamlining application development and enabling precise formal reasoning about network behavior. Unfortunately, current compilers only handle "local" programs that specify behavior in terms of hop-by-hop forwarding behavior, or modest extensions such as simple paths. To encode richer "global" behaviors, programmers must add extra state -- something that is tricky to get right and makes programs harder to write and maintain. Making matters worse, existing compilers can take tens of minutes to generate the forwarding state for the network, even on relatively small inputs. This forces programmers to waste time working around performance issues or even revert to using hardware-level APIs. This paper presents a new compiler for the NetKAT language that handles rich features including regular paths and virtual networks, and yet is several orders of magnitude faster than previous compilers. The compiler uses symbolic automata to calculate the extra state needed to implement "global" programs, and an intermediate representation based on binary decision diagrams to dramatically improve performance. We describe the design and implementation of three essential compiler stages: from virtual programs (which specify behavior in terms of virtual topologies) to global programs (which specify network-wide behavior in terms of physical topologies), from global programs to local programs (which specify behavior in terms of single-switch behavior), and from local programs to hardware-level forwarding tables. We present results from experiments on real-world benchmarks that quantify performance in terms of compilation time and forwarding table size. Steffen Smolka, Spiridon Aristides Eliopoulos, Nate Foster, Arjun Guha |
ICFP | 1 |