Demo Data from EDBT 2026 / reviewers in the wild / expert
Matthias Dangl
dblp:159/1900
· DBLP profile ↗
10ranked-venue papers
1as first author
2since 2021 · last 2022
0000-0001-7333-6734ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 8 · 1 first-author · 1 since 2021Artificial intelligence and machine learning · 2 · 1 since 2021Theory of computation · 2
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
5 papers |
Program verification · 92% Software testing · 8% |
Topics — the 4 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program verification
invariant generation |
0.2 | 1 | 2015 | Boosting k-Induction with Continuously-Refined Invariants · CAV (1) 2015 |
Program verification › model checking
k-induction |
0.2 | 1 | 2015 | Boosting k-Induction with Continuously-Refined Invariants · CAV (1) 2015 |
Program verification › model checking
witness validation |
0.2 | 1 | 2015 | Witness validation and stepwise testification across software verifiers · ESEC/SIGSOFT FSE 2015 |
Software testing
test generation |
0.2 | 1 | 2022 | Verification Witnesses · ACM Trans. Softw. Eng. Methodol. 2022 |
Methods — techniques the papers use, named apart from their topics
witness validation · 0.2error-witness-driven program analysis · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | Verification WitnessesabstractOver the last years, witness-based validation of verification results has become an established practice in software verification: An independent validator re-establishes verification results of a software verifier using verification witnesses, which are stored in a standardized exchange format. In addition to validation, such exchangable information about proofs and alarms found by a verifier can be shared across verification tools, and users can apply independent third-party tools to visualize and explore witnesses to help them comprehend the causes of bugs or the reasons why a given program is correct. To achieve the goal of making verification results more accessible to engineers, it is necessary to consider witnesses as first-class exchangeable objects, stored independently from the source code and checked independently from the verifier that produced them, respecting the important principle of separation of concerns. We present the conceptual principles of verification witnesses, give a description of how to use them, provide a technical specification of the exchange format for witnesses, and perform an extensive experimental study on the application of witness-based result validation, using the validators CPAchecker , UAutomizer , CPA-witness2test , and FShell-witness2test . Dirk Beyer 0001, Matthias Dangl, Daniel Dietsch, Matthias Heizmann, Thomas Lemberger 0002, Michael Tautschnig |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2021 | Correction to: A Unifying View on SMT-Based Software Verification
Dirk Beyer 0001, Matthias Dangl, Philipp Wendler |
J. Autom. Reason. | 2 |
| 2020 | Software Verification with PDR: An Implementation of the State of the ArtabstractProperty-directed reachability (PDR) is a SAT/SMT-based reachability algorithm that incrementally constructs inductive invariants. After it was successfully applied to hardware model checking, several adaptations to software model checking have been proposed. We contribute a replicable and thorough comparative evaluation of the state of the art: We (1) implemented a standalone PDR algorithm and, as improvement, a PDR-based auxiliary-invariant generator for k -induction, and (2) performed an experimental study on the largest publicly available benchmark set of C verification tasks, in which we explore the effectiveness and efficiency of software verification with PDR. The main contribution of our work is to establish a reproducible baseline for ongoing research in the area by providing a well-engineered reference implementation and an experimental evaluation of the existing techniques. Dirk Beyer 0001, Matthias Dangl |
TACAS (1) | 2 |
| 2018 | Strategy Selection for Software Verification Based on Boolean Features - A Simple but Effective Approach
Dirk Beyer 0001, Matthias Dangl |
ISoLA (2) | 2 |
| 2018 | A Unifying View on SMT-Based Software VerificationabstractAbstract After many years of successful development of new approaches for software verification, there is a need to consolidate the knowledge about the different abstract domains and algorithms. The goal of this paper is to provide a compact and accessible presentation of four SMT-based verification approaches in order to study them in theory and in practice. We present and compare the following different “schools of thought” of software verification: bounded model checking, k-induction, predicate abstraction, and lazy abstraction with interpolants. Those approaches are well-known and successful in software verification and have in common that they are based on SMT solving as the back-end technology. We reformulate all four approaches in the unifying theoretical framework of configurable program analysis and implement them in the verification framework CPAchecker. Based on this, we can present an evaluation that thoroughly compares the different approaches, where the core differences are expressed in configuration parameters and all other variables are kept constant (such as parser front end, SMT solver, used theory in SMT formulas). We evaluate the effectiveness and the efficiency of the approaches on a large set of verification tasks and discuss the conclusions. Dirk Beyer 0001, Matthias Dangl, Philipp Wendler |
J. Autom. Reason. | 2 |
| 2016 | Verification-Aided Debugging: An Interactive Web-Service for Exploring Error Witnesses
Dirk Beyer 0001, Matthias Dangl |
CAV (2) | 2 |
| 2016 | Correctness witnesses: exchanging verification results between verifiersabstractStandard verification tools provide a counterexample to witness a specification violation, and, since a few years, such a witness can be validated by an independent validator using an exchangeable witness format. This way, information about the violation can be shared across verification tools and the user can use standard tools to visualize and explore witnesses. This technique is not yet established for the correctness case, where a program fulfills a specification. Even for simple programs, it is often difficult for users to comprehend why a given program is correct, and there is no way to independently check the verification result. We close this gap by complementing our earlier work on violation witnesses with correctness witnesses. While we use an extension of the established common exchange format for violation witnesses to represent correctness witnesses, the techniques for producing and validating correctness witnesses are different. The overall goal to make proofs available to engineers is probably as old as programming itself, and proof-carrying code was proposed two decades ago --- our goal is to make it practical: We consider witnesses as first-class exchangeable objects, stored independently from the source code and checked independently from the verifier that produced them, respecting the important principle of separation of concerns. At any time, the invariants from the correctness witness can be used to reconstruct a correctness proof to establish trust. We extended two state-of-the-art verifiers, CPAchecker and Ultimate Automizer, to produce and validate witnesses, and report that the approach is promising on a large set of verification tasks. Dirk Beyer 0001, Matthias Dangl, Daniel Dietsch, Matthias Heizmann |
SIGSOFT FSE | 2 |
| 2015 | Boosting k-Induction with Continuously-Refined Invariants
Dirk Beyer 0001, Matthias Dangl, Philipp Wendler |
CAV (1) | 2 |
| 2015 | Witness validation and stepwise testification across software verifiersabstractIt is commonly understood that a verification tool should provide a counterexample to witness a specification violation. Until recently, software verifiers dumped error witnesses in proprietary formats, which are often neither human- nor machine-readable, and an exchange of witnesses between different verifiers was impossible. To close this gap in software-verification technology, we have defined an exchange format for error witnesses that is easy to write and read by verification tools (for further processing, e.g., witness validation) and that is easy to convert into visualizations that conveniently let developers inspect an error path. To eliminate manual inspection of false alarms, we develop the notion of stepwise testification: in a first step, a verifier finds a problematic program path and, in addition to the verification result FALSE, constructs a witness for this path; in the next step, another verifier re-verifies that the witness indeed violates the specification. This process can have more than two steps, each reducing the state space around the error path, making it easier to validate the witness in a later step. An obvious application for testification is the setting where we have two verifiers: one that is efficient but imprecise and another one that is precise but expensive. We have implemented the technique of error-witness-driven program analysis in two state-of-the-art verification tools, CPAchecker and Ultimate Automizer, and show by experimental evaluation that the approach is applicable to a large set of verification tasks. Dirk Beyer 0001, Matthias Dangl, Daniel Dietsch, Matthias Heizmann, Andreas Stahlbauer |
ESEC/SIGSOFT FSE | 2 |
| 2015 | CPAchecker with Support for Recursive Programs and Floating-Point Arithmetic - (Competition Contribution)
Matthias Dangl, Stefan Löwe, Philipp Wendler |
TACAS | 1 |