Research Overview

I enjoy working on problems at the intersection of theory and practice. My interests include language design, (probabilisitc) semantics, compilers, automata theory, formal verification, and algorithms.

I am passionately working on making networks more programmable.

Before coming to Cornell, I received a B.Sc. in Computer Science from Technische Universität München, where I worked with Jasmin Blanchette on the interactive theorem prover Isabelle.

Recent News & Talks

April 18 I'm excited to spend the summer in the Bay Area to work on Google Cloud!
Mar 18 I gave a talk on Probabilistic Network Verification at the Data Communication & Cloud Network Forum in Santa Clara, CA.
Feb 18 I gave a talk on Probabilistic Network Verification at the Shonan meeting Theory and Practice of Data Plane Programming in Japan.
Jan 18 We presented a poster about our work on program equivalence for ProbNetKAT at PPS 2018. Also see this short blog entry.
Jun 17 I'm excited to work with Alexandra Silva at UCL in London over the summer!
Apr 17 I will give a NetKAT tutorial on Tuesday (April 18, 2017). It will be live streamed on YouTube.
Mar 17 I'm excited to attend the Bellairs workshop on Probabilistic Programming Languages in Barbados.
Jan 17 The slides for our POPL'17 paper Cantor Meets Scott are now online.
Oct 16 Cantor meets Scott at POPL 2017 in Paris. See you there!
Oct 16 Our paper A Fast Compiler for NetKAT was recognized as a SIGPLAN Research Highlight!
Sep 16 I am visiting Stanford until February. I am also working part time at Barefoot Networks.
Jul 16 I gave a 5-minute talk on A Domain-Theoretic Foundation for Probabilistic NetKAT at Lake Placid.
Jun 16 I serve on the Artifact Evaluation Committee for POPL 2017.
Jun 16 I gave a talk on efficent language abstractions for SDN at the Network Programming Retreat in NYC.
May 16 I discussed current work on probabilistic NetKAT at NEPLS.
July 16 Attending IFIP Working Group 2.8 meeting at Lake Placid
Mar 16 I'm attending the Bellairs Workshop on Formal Methods for Software-Defined Networks in Barbados.
Nov 15 I'm attending the 2nd P4 Workshop at Stanford.
Sep 15 I presented our work on A Fast Compiler for NetKAT at ICFP 2015 in Vancouver (see a video here).
Aug 15 I'm attending SIGCOMM 2015 in London.
Jun 15 We just shipped the camera-ready version of A Fast Compiler for NetKAT, to appear at ICFP'15.
Jun 15 I am excited to work with with Dimitrios Vytiniotis at Microsoft Research in Cambridge over the summer.
Feb 15 I serve on the Artifact Evaluation Committee for PLDI 2015.
Jan 15 I'm attending POPL 2015 in Mumbai.
Show More Show Less

Projects (current & past)


Probabilistic Program Equivalence for NetKAT draft ]
Steffen Smolka, Praveen Kumar, Nate Foster, Justin Hsu, David Kahn, Dexter Kozen, and Alexandra Silva.
Performance Annotations for Cloud Computing paper ]
Daniele Rogora, Steffen Smolka, Antonio Carzaniga, Amer Diwan, and Robert Soulé.
HotCloud 17
Cantor Meets Scott: Semantic Foundations for Probabilistic Networks
conference version | full paper | technical notes | slides | code ]
Steffen Smolka, Praveen Kumar, Nate Foster, Dexter Kozen, and Alexandra Silva.
A Fast Compiler for NetKAT paper | slides | video | code | award ]
Steffen Smolka, Spiridon Eliopoulos, Nate Foster, and Arjun Guha.
Semi-intelligible Isar Proofs from Machine-Generated Proofs paper ]
Jasmin Christian Blanchette, Sascha Böhme, Mathias Fleury, Steffen Smolka, and Albert Steckermeier.
JAR 15
Robust, Semi-Intelligible Isabelle Proofs from ATP Proofs paper | slides ]
Steffen Smolka and Jasmin Christian Blanchette.
PxTP 13


Robust, Semi-Intelligible Isabelle Proofs from ATP Proofs thesis | slides ]
Steffen Smolka. Bachelor Thesis in Computer Science. Technische Universität München. August 2013.


Guest lecturer, CS 6861: Introduction to Kleene Algebra, Dexter Kozen, Cornell University, Spring 2018.
Guest lecturer, CS 3110: Data Structures and Functional Programming, Nate Foster, Cornell University, Spring 2018.
Teaching assistant, CS 6110: Advanced Programming Languages, Adrian Sampson, Cornell University, Spring 2018.
Guest lecturer, CS 6114: Network Programming Languages, Nate Foster, Cornell University, Fall 2017.
Teaching assistant, CS 4120/5120: Compilers, Andrew Myers, Cornell University, Spring 2016.
Teaching assistant, Introduction to Computer Science 2, Andrey Rybalchenko, TU München, Fall 2011.

Industry Experience

Google, Engineering Intern, Sunnyvale CA, June - September 2018.
Barefoot Networks, Intern, Palo Alto CA, September 2016 - February 2017.
Microsoft Research, Research Intern, Cambridge UK, May - August 2015.


Transactions on Programming Languages and Systems (TOPLAS), Reviewer, 2018.
Journal of Logical and Algebraic Methods in Programming, Reviewer, 2017.
Principles of Programming Languages (POPL), Artifact Evaluation Committee, 2016.
Programming Language Design and Implementation (PLDI), Artifact Evaluation Committee, 2015.