EDBT 2026 Demo / reviewers in the wild / expert
Alexander Kampmann
dblp:147/9010
· DBLP profile ↗
3ranked-venue papers
1as first author
0since 2021 · last 2020
0000-0001-6290-4556ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 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.
| Software engineering, system software, and programming languages
3 papers |
Software testing · 61% Debugging and program repair · 26% Program synthesis and code generation · 13% |
Topics — the 6 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Debugging and program repair
fault localization |
0.9 | 2 | 2020 | When does my program do this? learning circumstances of software behavior · ESEC/SIGSOFT FSE 2020 Abstracting failure-inducing inputs · ISSTA 2020 |
Software testing
test generation |
0.8 | 2 | 2020 | Abstracting failure-inducing inputs · ISSTA 2020 Parser-directed fuzzing · PLDI 2019 |
Software testing › test generation
failure-inducing test generation |
0.4 | 1 | 2020 | Abstracting failure-inducing inputs · ISSTA 2020 |
Program synthesis and code generation
grammar-constrained generation |
0.4 | 1 | 2020 | When does my program do this? learning circumstances of software behavior · ESEC/SIGSOFT FSE 2020 |
Software testing
test input generation |
0.4 | 1 | 2020 | When does my program do this? learning circumstances of software behavior · ESEC/SIGSOFT FSE 2020 |
Software testing
fuzzing |
0.4 | 1 | 2019 | Parser-directed fuzzing · PLDI 2019 |
Methods — techniques the papers use, named apart from their topics
systematic testing · 0.4input grammar · 0.4grammar-based parsing · 0.4decision tree learning · 0.4coverage-guided fuzzing · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Abstracting failure-inducing inputsabstractA program fails. Under which circumstances does the failure occur? Starting with a single failure-inducing input ("The input ((4)) fails") and an input grammar, the DDSET algorithm uses systematic tests to automatically generalize the input to an abstract failure-inducing input that contains both (concrete) terminal symbols and (abstract) nonterminal symbols from the grammar—for instance, "(( ))", which represents any expression in double parentheses. Such an abstract failure-inducing input can be used (1) as a debugging diagnostic, characterizing the circumstances under which a failure occurs ("The error occurs whenever an expression is enclosed in double parentheses"); (2) as a producer of additional failure-inducing tests to help design and validate fixes and repair candidates ("The inputs ((1)), ((3 * 4)), and many more also fail"). In its evaluation on real-world bugs in JavaScript, Clojure, Lua, and UNIX command line utilities, DDSET’s abstract failure-inducing inputs provided to-the-point diagnostics, and precise producers for further failure inducing inputs. Rahul Gopinath, Alexander Kampmann, Nikolas Havrikov, Ezekiel O. Soremekun, Andreas Zeller |
ISSTA | 2 |
| 2020 | When does my program do this? learning circumstances of software behaviorabstractA program fails. Under which circumstances does the failure occur? Our Alhazenapproach starts with a run that exhibits a particular behavior and automatically determines input features associated with the behavior in question: (1) We use a grammar to parse the input into individual elements. (2) We use a decision tree learner to observe and learn which input elements are associated with the behavior in question. (3) We use the grammar to generate additional inputs to further strengthen or refute hypotheses as learned associations. (4) By repeating steps 2 and 3, we obtain a theory that explains and predicts the given behavior. In our evaluation using inputs for find, grep, NetHack, and a JavaScript transpiler, the theories produced by Alhazen predict and produce failures with high accuracy and allow developers to focus on a small set of input features: “grep fails whenever the --fixed-strings option is used in conjunction with an empty search string.” Alexander Kampmann, Nikolas Havrikov, Ezekiel O. Soremekun, Andreas Zeller |
ESEC/SIGSOFT FSE | 1 |
| 2019 | Parser-directed fuzzingabstractTo be effective, software test generation needs to well cover the space of possible inputs. Traditional fuzzing generates large numbers of random inputs, which however are unlikely to contain keywords and other specific inputs of non-trivial input languages. Constraint-based test generation solves conditions of paths leading to uncovered code, but fails on programs with complex input conditions because of path explosion. In this paper, we present a test generation technique specifically directed at input parsers. We systematically produce inputs for the parser and track comparisons made; after every rejection, we satisfy the comparisons leading to rejection. This approach effectively covers the input space: Evaluated on five subjects, from CSV files to JavaScript, our pFuzzer prototype covers more tokens than both random-based and constraint-based approaches, while requiring no symbolic analysis and far fewer tests than random fuzzers. Björn Mathis, Rahul Gopinath, Michaël Mera, Alexander Kampmann, Matthias Höschele, Andreas Zeller |
PLDI | 4 |