Demo Data from VLDB 2026 / reviewers in the wild / expert
Stefan Heule
dblp:124/8937
· DBLP profile ↗
9ranked-venue papers
7as first author
1since 2021 · last 2022
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 6 first-authorComputer networks · 1 · 1 since 2021Databases, data management, data science and information retrieval · 1 · 1 first-author
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
1 paper |
Software-defined and programmable networks · 50% Network management and operations · 50% | |
| Software engineering, system software, and programming languages
2 papers |
Programming languages and type systems · 70% Program synthesis and code generation · 30% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Processor architecture and microarchitecture · 100% |
Topics — the 6 heaviest of 8, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Network management and operations
network verification |
0.6 | 1 | 2022 | SwitchV: automated SDN switch validation with P4 models · SIGCOMM 2022 |
Software-defined and programmable networks
programmable data plane |
0.6 | 1 | 2022 | SwitchV: automated SDN switch validation with P4 models · SIGCOMM 2022 |
Programming languages and type systems › language semantics
formal semantics |
0.2 | 1 | 2016 | Stratified synthesis: automatically learning the x86-64 instruction set · PLDI 2016 |
Programming languages and type systems › language semantics › formal semantics
instruction set semantics |
0.2 | 1 | 2016 | Stratified synthesis: automatically learning the x86-64 instruction set · PLDI 2016 |
Processor architecture and microarchitecture
instruction set architecture |
0.1 | 1 | 2016 | Stratified synthesis: automatically learning the x86-64 instruction set · PLDI 2016 |
Processor architecture and microarchitecture › instruction set architecture › CISC
x86-64 |
0.1 | 1 | 2016 | Stratified synthesis: automatically learning the x86-64 instruction set · PLDI 2016 |
Methods — techniques the papers use, named apart from their topics
p4 model · 0.6syntax-guided synthesis · 0.5markov chain monte carlo · 0.2heuristic search · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 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 | 3 |
| 2017 | SpaceSearch: a library for building and verifying solver-aided toolsabstractMany verification tools build on automated solvers. These tools reduce problems in a specific application domain (e.g., compiler optimization validation) to queries that can be discharged with a highly optimized solver. But the correctness of the reductions themselves is rarely verified in practice, limiting the confidence that the solver's output establishes the desired domain-level property. This paper presents SpaceSearch, a new library for developing solver-aided tools within a proof assistant. A user builds their solver-aided tool in Coq against the SpaceSearch interface, and the user then verifies that the results provided by the interface are sufficient to establish the tool's desired high-level properties. Once verified, the tool can be extracted to an implementation in a solver-aided language (e.g., Rosette), where SpaceSearch provides an efficient instantiation of the SpaceSearch interface with calls to an underlying SMT solver. This combines the strong correctness guarantees of developing a tool in a proof assistant with the high performance of modern SMT solvers. This paper also introduces new optimizations for such verified solver-aided tools, including parallelization and incrementalization. We evaluate SpaceSearch by building and verifying two solver-aided tools. The first, SaltShaker, checks that RockSalt's x86 semantics for a given instruction agrees with STOKE's x86 semantics. SaltShaker identified 7 bugs in RockSalt and 1 bug in STOKE. After these systems were patched by their developers, SaltShaker verified the semantics' agreement on 15,255 instruction instantiations in under 2h. The second tool, BGProof, is a verified version of an existing Border Gateway Protocol (BGP) router configuration checker. Like the existing checker, BGProof scales to checking industrial configurations spanning over 240 KLOC, identifying 19 configuration inconsistencies with no false positives. However, the correctness of BGProof has been formally proven, and we found 2 bugs in the unverified implementation. These results demonstrate that SpaceSearch is a practical approach to developing efficient, verified solver-aided tools. Konstantin Weitz, Steven Lyubomirsky, Stefan Heule, Emina Torlak, Michael D. Ernst, Zachary Tatlock |
Proc. ACM Program. Lang. | 3 |
| 2016 | Stratified synthesis: automatically learning the x86-64 instruction setabstractThe x86-64 ISA sits at the bottom of the software stack of most desktop and server software. Because of its importance, many software analysis and verification tools depend, either explicitly or implicitly, on correct modeling of the semantics of x86-64 instructions. However, formal semantics for the x86-64 ISA are difficult to obtain and often written manually through great effort. We describe an automatically synthesized formal semantics of the input/output behavior for a large fraction of the x86-64 Haswell ISA’s many thousands of instruction variants. The key to our results is stratified synthesis, where we use a set of instructions whose semantics are known to synthesize the semantics of additional instructions whose semantics are unknown. As the set of formally described instructions increases, the synthesis vocabulary expands, making it possible to synthesize the semantics of increasingly complex instructions. Using this technique we automatically synthesized formal semantics for 1,795 instruction variants of the x86-64 Haswell ISA. We evaluate the learned semantics against manually written semantics (where available) and find that they are formally equivalent with the exception of 50 instructions, where the manually written semantics contain an error. We further find the learned formulas to be largely as precise as manually written ones and of similar size. Stefan Heule, Eric Schkufza, Rahul Sharma 0001, Alex Aiken |
PLDI | 1 |
| 2015 | The Most Dangerous Code in the Browser
Stefan Heule, Devon Rifkin, Alejandro Russo, Deian Stefan |
HotOS | 1 |
| 2015 | Mimic: computing models for opaque codeabstractOpaque code, which is executable but whose source is unavailable or hard to process, can be problematic in a number of scenarios, such as program analysis. Manual construction of models is often used to handle opaque code, but this process is tedious and error-prone. (In this paper, we use model to mean a representation of a piece of code suitable for program analysis.) We present a novel technique for automatic generation of models for opaque code, based on program synthesis. The technique intercepts memory accesses from the opaque code to client objects, and uses this information to construct partial execution traces. Then, it performs a heuristic search inspired by Markov Chain Monte Carlo techniques to discover an executable code model whose behavior matches the opaque code. Native execution, parallelization, and a carefully-designed fitness function are leveraged to increase the effectiveness of the search. We have implemented our technique in a tool Mimic for discovering models of opaque JavaScript functions, and used Mimic to synthesize correct models for a variety of array-manipulating routines. Stefan Heule, Manu Sridharan, Satish Chandra 0001 |
ESEC/SIGSOFT FSE | 1 |
| 2013 | Verification Condition Generation for Permission Logics with Abstract Predicates and Abstraction Functions
Stefan Heule, Ioannis T. Kassios, Peter Müller 0001, Alexander J. Summers |
ECOOP | 1 |
| 2013 | HyperLogLog in practice: algorithmic engineering of a state of the art cardinality estimation algorithmabstractCardinality estimation has a wide range of applications and is of particular importance in database systems. Various algorithms have been proposed in the past, and the HyperLogLog algorithm is one of them. In this paper, we present a series of improvements to this algorithm that reduce its memory requirements and significantly increase its accuracy for an important range of cardinalities. We have implemented our proposed algorithm for a system at Google and evaluated it empirically, comparing it to the original HyperLogLog algorithm. Like HyperLogLog, our improved algorithm parallelizes perfectly and computes the cardinality estimate in a single pass. Stefan Heule, Marc Nunkesser, Alexander Hall |
EDBT | 1 |
| 2013 | Abstract Read Permissions: Fractional Permissions without the Fractions
Stefan Heule, K. Rustan M. Leino, Peter Müller 0001, Alexander J. Summers |
VMCAI | 1 |
| 2011 | Fractional permissions without the fractionsabstractFractional permissions are a popular approach to reasoning about programs that use shared-memory concurrency. Abstractly, they provide a way of managing that either multiple readers or one writer thread can access a resource concurrently. Concretely, specification using fractional permissions typically requires the user to pick concrete mathematical values for partial permissions, making specifications overly verbose, tedious to write, and harder to adapt and re-use. Stefan Heule, K. Rustan M. Leino, Peter Müller 0001, Alexander J. Summers |
FTfJP@ECOOP | 1 |