VLDB 2026 Research / reviewers in the wild / expert
Thomas Lemberger 0002
dblp:186/9680-2
· DBLP profile ↗
20ranked-venue papers
4as first author
14since 2021 · last 2026
0000-0003-0291-815XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 20 · 4 first-author · 14 since 2021Theory of computation · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Testing in Formal Verification via Witness Generation (Empirical Evaluation)
Dirk Beyer 0001, Thomas Lemberger 0002, Henrik Wachowitz |
FASE | 2 |
| 2026 | AFL-TC: Transforming Fuzzer Test Inputs for Test-Comp (Competition Contribution)
Thomas Lemberger 0002, Henrik Wachowitz |
FASE | 1 |
| 2026 | A Case Study in Firmware Verification: Applying Formal Methods to Intel$^\circledR $ TDX Module
Dirk Beyer 0001, Po-Chun Chien, Bo-Yuan Huang 0001, Nian-Ze Lee, Thomas Lemberger 0002 |
TACAS (2) | 5 |
| 2025 | Nacpa: Native Checking with Parallel-Portfolio Analyses - (Competition Contribution)abstractAbstract We present Nacpa, a meta-verifier based on parallel portfolio and native compilation of backend verifiers. Nacpa does not implement any software analyses itself, but uses the Java-based CPAchecker as off-the-shelf verification backend in different configurations; each called as a separate, external process. To avoid the overhead of starting the Java Virtual Machine multiple times and to improve the run time on fast-to-solve tasks, we created a natively compiled version of CPAchecker for Nacpa. Nacpa is a conceptually simple framework, yet proves to be competitive in SV-COMP 2025. Thomas Lemberger 0002, Henrik Wachowitz |
TACAS (3) | 1 |
| 2024 | CPA-Daemon: Mitigating Tool Restarts for Java-Based VerifiersabstractAbstract We present CPA-Daemon , a microservice for continuous software verification of C code. CPA-Daemon provides full access to the verifier CPAchecker , but adds a clear network interface based on gRPC that abstracts from three different modes of execution: (1) running CPAchecker in a separate JVM, (2) running CPAchecker as a native executable compiled with GraalVM, and (3) running CPAchecker in a shared, continuously-running JVM. The last two are novel execution modes that greatly improve the response time of verification in different verification scenarios and enable the seamless integration of CPAchecker as an engine in other verification tooling. Our comparative evaluation shows that CPA-Daemon reduces the response time on small verification tasks down to 17%, and that it can reduce the response time of existing cooperative verification techniques down to 70%. While our implementation focuses on CPAchecker , the conceptual ideas are of general nature and can serve as a solution for other verification tools that face similar JVM-specific issues. CPA-Daemon is open source and available at https://gitlab.com/sosy-lab/software/cpa-daemon . Dirk Beyer 0001, Thomas Lemberger 0002, Henrik Wachowitz |
ATVA (2) | 2 |
| 2024 | Software Verification with CPAchecker 3.0: Tutorial and User GuideabstractAbstract This tutorial provides an introduction toCPAcheckerfor users.CPAcheckeris a flexible and configurable framework for software verification and testing. The framework provides many abstract domains, such as BDDs, explicit values, intervals, memory graphs, and predicates, and many program-analysis and model-checking algorithms, such as abstract interpretation, bounded model checking,Impact, interpolation-based model checking,k-induction, PDR, predicate abstraction, and symbolic execution. This tutorial presents basic use cases forCPAcheckerin formal software verification, focusing on its main verification techniques with their strengths and weaknesses. An extended version also shows further use cases ofCPAcheckerfor test-case generation and witness-based result validation. The envisioned readers are assumed to possess a background in automatic formal verification and program analysis, but prior knowledge ofCPAcheckeris not required. This tutorial and user guide is based onCPAcheckerin version 3.0. This user guide’s latest version and other documentation are available at https://cpachecker.sosy-lab.org/doc.php . Daniel Baier, Dirk Beyer 0001, Po-Chun Chien, Marie-Christine Jakobs, Marek Jankola, Matthias Kettl, Nian-Ze Lee, Thomas Lemberger 0002, Marian Lingsch Rosenfeld, Henrik Wachowitz, Philipp Wendler |
FM (2) | 8 |
| 2024 | CoVeriTeam GUI: A No-Code Approach to Cooperative Software VerificationabstractWe present CoVeriTeam GUI, a No-Code web frontend to compose new software-verification workflows from existing analysis techniques. Verification approaches stopped relying on single techniques years ago, and instead combine selections that complement each other well. So far, such combinations were---under high implementation and maintenance cost---glued together with proprietary code. Now, CoVeriTeam GUI enables users to build new verification workflows without programming. Verification techniques can be combined through various composition operators in a drag-and-drop fashion directly in the browser, and an integration with a remote service allows to execute the built workflows with the click of a button. CoVeriTeam GUI is available open source under Apache 2.0: https://gitlab.com/sosy-lab/software/coveriteam-gui Thomas Lemberger 0002, Henrik Wachowitz |
ASE | 1 |
| 2024 | Fault Localization on Verification WitnessesabstractAbstract When verifiers report an alarm, they export a violation witness (exchangeable counterexample) that helps validate the reachability of that alarm. Conventional wisdom says that this violation witness should be very precise: the ideal witness describes a single error path for the validator to check. But we claim that verifiers overshoot and produce large witnesses with information that makes validation unnecessarily difficult. To check our hypothesis, we reduce violation witnesses to that information that automated fault-localization approaches deem relevant for triggering the reported alarm in the program. We perform a large experimental evaluation on the witnesses produced in the International Competition on Software Verification (SV-COMP 2023). It shows that our reduction shrinks the witnesses considerably and enables the confirmation of verification results that were not confirmable before. Dirk Beyer 0001, Matthias Kettl, Thomas Lemberger 0002 |
SPIN | 3 |
| 2024 | CPAchecker 2.3 with Strategy Selection - (Competition Contribution)abstractAbstract CPAcheckeris a versatile framework for software verification, rooted in the established concept ofconfigurable program analysis. Compared to the last published system description at SV-COMP 2015, theCPAcheckersubmission to SV-COMP 2024 incorporates new analyses for reachability safety, memory safety, termination, overflows, and data races. To combine forces of the available analyses inCPAcheckerand cover the full spectrum of the diverse program characteristics and specifications in the competition, we usestrategy selectionto predict a sequential portfolio of analyses that is suitable for a given verification task. The prediction is guided by a set of carefully picked program features. The sequential portfolios are composed based on expert knowledge and consist of bit-precise analyses usingk-induction, data-flow analysis, SMT solving, Craig interpolation, lazy abstraction, and block-abstraction memoization. The synergy of various algorithms inCPAcheckerenables support for all properties and categories of C programs in SV-COMP 2024 and contributes to its success in many categories.CPAcheckeralso generates verification witnesses in the new YAML format. Daniel Baier, Dirk Beyer 0001, Po-Chun Chien, Marek Jankola, Matthias Kettl, Nian-Ze Lee, Thomas Lemberger 0002, Marian Lingsch Rosenfeld, Martin Spiessl, Henrik Wachowitz, Philipp Wendler |
TACAS (3) | 7 |
| 2024 | Six years later: testing vs. model checkingabstractAbstract Six years ago, we performed the first large-scale comparison of automated test generators and software model checkers with respect to bug-finding capabilities on a benchmark set with 5693 C programs. Since then, the International Competition on Software Testing (Test-Comp) has established standardized formats and community-agreed rules for the experimental comparison of test generators. With this new context, it is time to revisit our initial question: Model checkers or test generators—which tools are more effective in finding bugs in software? To answer this, we perform a comparative analysis on the tools and existing data published by two competitions, the International Competition on Software Verification (SV-COMP) and Test-Comp. The results provide two insights: (1) Almost all test generators that participate in Test-Comp use hybrid approaches that include formal methods, and (2) although the considered model checkers are still highly competitive, they are now outperformed by the bug-finding capabilities of the considered test generators. Dirk Beyer 0001, Thomas Lemberger 0002 |
Int. J. Softw. Tools Technol. Transf. | 2 |
| 2022 | Decomposing Software Verification into Off-the-Shelf Components: An Application to CEGARabstractTechniques for software verification are typically realized as cohesive units of software with tightly coupled components. This makes it difficult to re-use components, and the potential for workload distribution is limited. Innovations in software verification might find their way into practice faster if provided in smaller, more specialized components. Dirk Beyer 0001, Jan Haltermann, Thomas Lemberger 0002, Heike Wehrheim |
ICSE | 3 |
| 2022 | The Static Analyzer Infer in SV-COMP (Competition Contribution)abstractAbstract We present Infer-sv, a wrapper that adapts Infer for SV-COMP. Infer is a static-analysis tool for C and other languages, developed by Facebook and used by multiple large companies. It is strongly aimed at industry and the internal use at Facebook. Despite its popularity, there are no reported numbers on its precision and efficiency. With Infer-sv, we take a first step towards an objective comparison of Infer with other SV-COMP participants from academia and industry. Matthias Kettl, Thomas Lemberger 0002 |
TACAS (2) | 2 |
| 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. | 5 |
| 2021 | Plain random test generation with PRTestabstractAbstract Automatic test-suite generation tools are often complex and their behavior is not predictable. To provide a minimum baseline that test-suite generators should be able to surpass, we present PRTest, a random black-box test-suite generator for C programs: To create a test, PRTest natively executes the program under test and creates a new, random test value whenever an input value is required. After execution, PRTest checks whether any new program branches were covered and, if this is the case, the created test is added to the test suite. This way, tests are rapidly created either until a crash is found, or until the user aborts the creation. While this naive mechanism is not competitive with more sophisticated, state-of-the-art test-suite generation tools, it is able to provide a good baseline for Test-Comp and a fast alternative for automatic test-suite generation for programs with simple control flow. PRTest is publicly available and open source. Thomas Lemberger 0002 |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 2020 | Difference Verification with ConditionsabstractAbstract Modern software-verification tools need to support development processes that involve frequent changes. Existing approaches for incremental verification hard-code specific verification techniques. Some of the approaches must be tightly intertwined with the development process. To solve this open problem, we present the concept of difference verification with conditions. Difference verification with conditions is independent from any specific verification technique and can be integrated in software projects at any time. It first applies a change analysis that detects which parts of a software were changed between revisions and encodes that information in a condition. Based on this condition, an off-the-shelf verifier is used to verify only those parts of the software that are influenced by the changes. As a proof of concept, we propose a simple, syntax-based change analysis and use difference verification with conditions with three off-the-shelf verifiers. An extensive evaluation shows the competitiveness of difference verification with conditions. Dirk Beyer 0001, Marie-Christine Jakobs, Thomas Lemberger 0002 |
SEFM | 3 |
| 2019 | Conditional Testing - Off-the-Shelf Combination of Test-Case Generators
Dirk Beyer 0001, Thomas Lemberger 0002 |
ATVA | 2 |
| 2019 | TestCov: Robust Test-Suite Execution and Coverage MeasurementabstractWe present TestCov, a tool for robust test-suite execution and test-coverage measurement on C programs. TestCov executes program tests in isolated containers to ensure system integrity and reliable resource control. The tool provides coverage statistics per test and for the whole test suite. TestCov uses the simple, XML -based exchange format for test-suite specifications that was established as standard by Test-Comp. TestCov has been successfully used in Test-Comp '19 to execute almost 9 million tests on 1720 different programs. The source code of TestCov is released under the open-source license Apache 2.0 and available at https://gitlab.com/sosy-lab/software/test-suite-validator. A full artifact, including a demonstration video, is available at https://doi.org/10.5281/zenodo.3418726. Dirk Beyer 0001, Thomas Lemberger 0002 |
ASE | 2 |
| 2018 | Reducer-based construction of conditional verifiersabstractDespite recent advances, software verification remains challenging. To solve hard verification tasks, we need to leverage not just one but several different verifiers employing different technologies. To this end, we need to exchange information between verifiers. Conditional model checking was proposed as a solution to exactly this problem: The idea is to let the first verifier output a condition which describes the state space that it successfully verified and to instruct the second verifier to verify the yet unverified state space using this condition. However, most verifiers do not understand conditions as input. Dirk Beyer 0001, Marie-Christine Jakobs, Thomas Lemberger 0002, Heike Wehrheim |
ICSE | 3 |
| 2018 | CPA-SymExec: efficient symbolic execution in CPAcheckerabstractWe present CPA-SymExec, a tool for symbolic execution that is implemented in the open-source, configurable verification framework CPAchecker. Our implementation automatically detects which symbolic facts to track, in order to obtain a small set of constraints that are necessary to decide reachability of a program area of interest. CPA-SymExec is based on abstraction and counterexample-guided abstraction refinement (CEGAR), and uses a constraint-interpolation approach to detect symbolic facts. We show that our implementation can better mitigate the path-explosion problem than symbolic execution without abstraction, by comparing the performance to the state-of-the-art Klee-based symbolic-execution engine Symbiotic and to Klee itself. For the experiments we use two kinds of analysis tasks: one for finding an executable path to a specific location of interest (e.g., if a test vector is desired to show that a certain behavior occurs), and one for confirming that no executable path to a specific location exists (e.g., if it is desired to show that a certain behavior never occurs). CPA-SymExec is released under the Apache 2 license and available (inclusive source code) at https://cpachecker.sosy-lab.org. A demonstration video is available at https://youtu.be/qoBHtvPKtnw. Dirk Beyer 0001, Thomas Lemberger 0002 |
ASE | 2 |
| 2016 | Symbolic Execution with CEGAR
Dirk Beyer 0001, Thomas Lemberger 0002 |
ISoLA (1) | 2 |