VLDB 2026 Research / reviewers in the wild / expert
Dominic Steinhöfel
dblp:188/4887 · also Dominic Scheurer
· DBLP profile ↗
15ranked-venue papers
7as first author
8since 2021 · last 2025
0000-0003-4439-7129ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 12 · 6 first-author · 6 since 2021Artificial intelligence and machine learning · 2 · 1 first-author · 1 since 2021Theory of computation · 2 · 2 first-authorDatabases, data management, data science and information retrieval · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Language-Based Testing for Knowledge Graphs
Tobias John, Einar Broch Johnsen, Eduard Kamburjan, Dominic Steinhöfel |
ESWC (2) | 4 |
| 2025 | Certified Cost Bounds for Abstract ProgramsabstractA program containing placeholders for unspecified statements or expressions is called an abstract (or schematic) program. Placeholder symbols occur naturally in program transformation rules, as used in refactoring, compilation or optimization. Static cost analysis derives the precise cost—or upper and lower bounds for it—of executing programs, as functions in terms of the program's input data size. We present a generalization of automated cost analysis that can handle abstract programs and, hence, can analyze the impact on the cost effect of program transformations . This kind of relational property requires provably precise cost bounds which are not always produced by cost analysis. Therefore, we certify by deductive verification that the inferred abstract cost bounds are correct and sufficiently precise. It is the first approach solving this problem. Both, abstract cost analysis and certification, are based on quantitative abstract execution (QAE) which in turn is a variation of abstract execution, a recently developed symbolic execution technique for abstract programs. To realize QAE the new concept of a cost invariant is introduced. QAE is implemented and runs fully automatically on a benchmark set consisting of representative optimization rules. Elvira Albert, Reiner Hähnle, Alicia Merayo-Corcoba, Dominic Steinhöfel |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2024 | Schematic Program Proofs with Abstract ExecutionabstractAbstract We propose Abstract Execution, a static verification framework based on symbolic execution and dynamic frames for proving properties of schematic programs. Since a schematic program may potentially represent infinitely many concrete programs, Abstract Execution can analyze infinitely many programs at once. Trading off expressiveness and automation, the framework allows proving many interesting (universal, behavioral) properties fully automatically. Its main application are correctness proofs of program transformations represented as pairs of schematic programs. We implemented Abstract Execution in a deductive verification framework and designed a graphical workbench supporting the modeling process. Abstract Execution has been applied to correct code refactoring, analysis of the cost impact of transformation rules, and parallelization of sequential code. Using our framework, we found and reported several bugs in the refactoring engines of the Java IDEs IntelliJ IDEA and Eclipse, which were acknowledged and fixed. Dominic Steinhöfel, Reiner Hähnle |
J. Autom. Reason. | 1 |
| 2023 | Engineering a Formally Verified Automated Bug FinderabstractSymbolic execution is a program analysis technique executing programs with symbolic instead of concrete inputs. This principle allows for exploring many program paths at once. Despite its wide adoption—in particular for program testing–little effort was dedicated to studying the semantic foundations of symbolic execution. Without these foundations, critical questions regarding the correctness of symbolic executors cannot be satisfyingly answered: Can a reported bug be reproduced, or is it a false positive (soundness)? Can we be sure to find all bugs if we let the testing tool run long enough (completeness)? This paper presents a systematic approach for engineering provably sound and complete symbolic execution-based bug finders by relating a programming language’s operational semantics with a symbolic semantics. In contrast to prior work on symbolic execution semantics, we address the correctness of critical implementation details of symbolic bug finders, including the search strategy and the role of constraint solvers to prune the search space. We showcase our approach by implementing WiSE, a prototype of a verified bug finder for an imperative language, in the Coq proof assistant and proving it sound and complete. We demonstrate that the design principles of WiSE survive outside the ecosystem of interactive proof assistants by (1) automatically extracting an OCaml implementation and (2) transforming WiSE to PyWiSE, a functionally equivalent Python version. Arthur Correnson, Dominic Steinhöfel |
ESEC/SIGSOFT FSE | 2 |
| 2023 | Semantic DebuggingabstractWhy does my program fail? We present a novel and general technique to automatically determine failure causes and conditions, using logical properties over input elements: “The program fails if and only if int( ) > len( ) holds—that is, the given is larger than the length.” Our AVICENNA prototype uses modern techniques for inferring properties of passing and failing inputs and validating and refining hypotheses by having a constraint solver generate supporting test cases to obtain such diagnoses. As a result, AVICENNA produces crisp and expressive diagnoses even for complex failure conditions, considerably improving over the state of the art with diagnoses close to those of human experts. Martin Eberlein, Marius Smytzek, Dominic Steinhöfel, Lars Grunske, Andreas Zeller |
ESEC/SIGSOFT FSE | 3 |
| 2022 | Input invariantsabstractHow can we generate valid system inputs? Grammar-based fuzzers are highly efficient in producing syntactically valid system inputs. However, programs will often reject inputs that are semantically invalid. We introduce ISLa, a declarative specification language for context-sensitive properties of structured system inputs based on context-free grammars. With ISLa, it is possible to specify input constraints like "a variable has to be defined before it is used," "the 'file name' block must be 100 bytes long," or "the number of columns in all CSV rows must be identical." Dominic Steinhöfel, Andreas Zeller |
ESEC/SIGSOFT FSE | 1 |
| 2021 | Certified Abstract Cost AnalysisabstractAbstract A program containing placeholders for unspecified statements or expressions is called an abstract (or schematic) program. Placeholder symbols occur naturally in program transformation rules, as used in refactoring, compilation, optimization, or parallelization. We present a generalization of automated cost analysis that can handle abstract programs and, hence, can analyze the impact on the cost of program transformations. This kind of relational property requires provably precise cost bounds which are not always produced by cost analysis. Therefore, we certify by deductive verification that the inferred abstract cost bounds are correct and sufficiently precise. It is the first approach solving this problem. Both, abstract cost analysis and certification, are based on quantitative abstract execution (QAE) which in turn is a variation of abstract execution, a recently developed symbolic execution technique for abstract programs. To realize QAE the new concept of a cost invariant is introduced. QAE is implemented and runs fully automatically on a benchmark set consisting of representative optimization rules. Elvira Albert, Reiner Hähnle, Alicia Merayo-Corcoba, Dominic Steinhöfel |
FASE | 4 |
| 2021 | Delta-based verification of software product familiesabstractThe quest for feature- and family-oriented deductive verification of software product lines resulted in several proposals. In this paper we look at delta-oriented modeling of product lines and combine two new ideas: first, we extend Hähnle & Schaefer’s delta-oriented version of Liskov’s substitution principle for behavioral subtyping to work also for overridden behavior in benign cases. For this to succeed, programs need to be in a certain normal form. The required normal form turns out to be achievable in many cases by a set of program transformations, whose correctness is ensured by the recent technique of abstract execution. This is a generalization of symbolic execution that permits reasoning about abstract code elements. It is needed, because code deltas contain partially unknown code contexts in terms of “original” calls. Marco Scaletta, Reiner Hähnle, Dominic Steinhöfel, Richard Bubel |
GPCE | 3 |
| 2020 | REFINITY to Model and Prove Program Transformation Rules
Dominic Steinhöfel |
APLAS | 1 |
| 2020 | Safer Parallelization
Reiner Hähnle, Asmae Heydari Tabar, Arya Mazaheri, Mohammad Norouzi 0003, Dominic Steinhöfel, Felix Wolf 0001 |
ISoLA (2) | 5 |
| 2019 | Abstract Execution
Dominic Steinhöfel, Reiner Hähnle |
FM | 1 |
| 2019 | Verifying OpenJDK's Sort Method for Generic CollectionsabstractTimSort is the main sorting algorithm provided by the Java standard library and many other programming frameworks. Our original goal was functional verification of TimSort with mechanical proofs. However, during our verification attempt we discovered a bug which causes the implementation to crash by an uncaught exception. In this paper, we identify conditions under which the bug occurs, and from this we derive a bug-free version that does not compromise performance. We formally specify the new version and verify termination and the absence of exceptions including the bug. This verification is carried out mechanically with KeY, a state-of-the-art interactive verification tool for Java. We provide a detailed description and analysis of the proofs. The complexity of the proofs required extensions and new capabilities in KeY, including symbolic state merging. Stijn de Gouw, Frank S. de Boer, Richard Bubel, Reiner Hähnle, Jurriaan Rot, Dominic Steinhöfel |
J. Autom. Reason. | 6 |
| 2018 | Modular, Correct Compilation with Automatic Soundness Proofs
Dominic Steinhöfel, Reiner Hähnle |
ISoLA (1) | 1 |
| 2017 | A New Invariant Rule for the Analysis of Loops with Non-standard Control Flows
Dominic Steinhöfel, Nathan Wasser |
IFM | 1 |
| 2016 | A General Lattice Model for Merging Symbolic Execution Branches
Dominic Steinhöfel, Reiner Hähnle, Richard Bubel |
ICFEM | 1 |