VLDB 2026 Research / reviewers in the wild / expert
Peter Schrammel
dblp:23/8898
· DBLP profile ↗
41ranked-venue papers
12as first author
6since 2021 · last 2026
0000-0002-5713-1381ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 35 · 8 first-author · 5 since 2021Theory of computation · 7 · 5 first-authorSystems, architecture and hardware · 3Artificial intelligence and machine learning · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Iekkë: A SAT-Based Bounded-Round Verifier for Multi-Threaded Programs (Competition Contribution)
Paolo Di Biase, Bernd Fischer 0002, Salvatore La Torre, Peter Schrammel, Gennaro Parlato |
TACAS (2) | 4 |
| 2024 | JCWIT: A Correctness-Witness Validator for Java Programs Based on Bounded Model CheckingabstractWitness validation is a formal verification method to independently verify software verification tool results, with two main categories: violation and correctness witness validators. Validators for violation witnesses in Java include Wit4Java and GWIT, but no dedicated correctness witness validators exist. To address this gap, this paper presents the Java Correctness-Witness Validator (JCWIT), the first tool to validate correctness witnesses in Java programs. JCWIT accepts an original program, a specification, and a correctness witness as inputs. Then, it uses invariants of each witness’s execution state as conditions to be incorporated into the original program in the form of assertions, thus instrumenting it. Next, JCWIT employs an established tool, Java Bounded Model Checker (JBMC), to verify the transformed program, hence examining the reproducibility of correct witness results. We evaluated JCWIT in the SV-COMP ReachSafety benchmark, and the results show that JCWIT can correctly validate the correctness witnesses generated by Java verifiers. Zaiyu Cheng, Tong Wu 0028, Peter Schrammel, Norbert Tihanyi, Eddie Batista de Lima Filho, Lucas C. Cordeiro |
ISSTA | 3 |
| 2023 | 2LS: Arrays and Loop Unwinding - (Competition Contribution)abstractAbstract 2LS is a C program analyser built upon the CPROVER infrastructure that can verify and refute program assertions, memory safety, and termination. Until now, one of the main drawbacks of 2LS was its inability to verify most programs with arrays. This paper introduces a new abstract domain in 2LS for reasoning about the contents of arrays. In addition, we introduce an improved approach to loop unwinding, a crucial component of the 2LS’ verification algorithm, which particularly enables finding proofs and counterexamples for programs working with dynamic memory. Viktor Malík, Frantisek Necas, Peter Schrammel, Tomás Vojnar |
TACAS (2) | 3 |
| 2022 | CBMC-SSM: Bounded Model Checking of C Programs with Symbolic Shadow MemoryabstractDynamic program analysis tools such as Eraser, TaintCheck, or ThreadSanitizer abstract the contents of individual memory locations and store the abstraction results in a separate data structure called shadow memory. They then use this meta-information to efficiently implement the actual analyses. In this paper, we describe the implementation of an efficient symbolic shadow memory extension for the CBMC bounded model checker that can be accessed through an API, and sketch its use in the design of a new data race analyzer that is implemented by a code-to-code translation. Bernd Fischer 0002, Salvatore La Torre, Gennaro Parlato, Peter Schrammel |
ASE | 4 |
| 2022 | Wit4Java: A Violation-Witness Validator for Java Verifiers (Competition Contribution)abstractAbstract We describe and evaluate a violation-witness validator for Java verifiers called Wit4Java. It takes a Java program with a safety property and the respective violation-witness output by a Java verifier to generate a new Java program whose execution deterministically violates the property. We extract the value of the program variables from the counterexample represented by the violation-witness and feed this information back into the original program. In addition, we have two implementations for instantiating source programs by injecting counterexamples. Experimental results show that Wit4Java can correctly validate the violation-witnesses produced by JBMC and GDart in a few seconds. Tong Wu 0028, Peter Schrammel, Lucas C. Cordeiro |
TACAS (2) | 2 |
| 2021 | Unbounded-Time Safety Verification of Guarded LTI Models with Inputs by Abstract AccelerationabstractReachability analysis of dynamical models is a relevant problem that has seen much progress in the last decades, however with clear limitations pertaining to the nature of the dynamics and the soundness of the results. This article focuses on sound safety verification of unbounded-time (infinite-horizon) linear time-invariant (LTI) models with inputs using reachability analysis. We achieve this using counterexample-guided Abstract Acceleration: this approach over-approximates the reachability tube of the LTI model over an unbounded time horizon by using abstraction, possibly finding concrete counterexamples for refinement based on the given safety specification. The technique is applied to a number of LTI models and the results show robust performance when compared to state-of-the-art tools. Dario Cattaruzza, Alessandro Abate, Peter Schrammel, Daniel Kroening |
J. Autom. Reason. | 3 |
| 2020 | The FMCAD 2020 Student ForumabstractThe Student Forum at the International Conference on Formal Methods in Computer-Aided Design (FMCAD) allows undergraduate and graduate students to introduce their research to the Formal Methods community and receive feedback.Originally planned to take place in Haifa, Israel, the event was actually run online via video conferencing.Eight students were invited to give a short talk and discuss their work with their peers and FMCAD attendees.The presentations covered a broad range of topics in the fields of verification and synthesis in various application areas.The Student Forum gives an opportunity to students at any career stage to introduce their research to the audience of the FMCAD conference.The first edition took place in Portland, Oregon, USA in 2013 [6], with subsequent editions held in Lausanne, Switzerland in 2014 [5], Austin, Texas, USA in 2015 [7] and 2018 [4], Mountain View, CA, USA in 2016 [3], Vienna, Austria in 2017 [2], and San Jose, CA, USA in 2019 [1].As in 2019, the 2020 Student Forum was open to graduate and undergraduate students.1 The students were invited to submit 2-page reports describing their ongoing research in the scope of the FMCAD conference.Members of the program committee of FMCAD reviewed the reports and accepted eight submissions.The reviews evaluated the novelty of the work, its potential impact on the Formal Methods community, the quality and the soundness of the presentation.The contributions covered a wide range of topics, from foundational aspects of automated reasoning to applications of Formal Methods to cloud security, neural networks and medicine.The following contributions have been accepted Peter Schrammel |
FMCAD | 1 |
| 2020 | How testable is business software?abstractMost businesses rely on a significant stack of software to perform their daily operations. This software is business-critical as defects in this software have major impacts on revenue and customer satisfaction. The primary means for verification of this software is testing. We conducted a large-scale analysis of Java software packages to evaluate their testability. The results show that code in software repositories is typically split into portions of very trivial code, non-trivial code that is unit-testable, and code that cannot be unit-tested easily. This brings up interesting considerations regarding the use of test coverage metrics and design for testability, which is crucial for testing efficiency and effectiveness, but unfortunately too often an afterthought. Lack of testability is an obstacle to applying tools that perform automated verification and test generation. These tools cannot make up for poor testability of the code and have a hard time in succeeding or are not even applicable without first improving the design of the software system. Peter Schrammel |
FMCAD | 1 |
| 2020 | 2LS: Heap Analysis and Memory Safety - (Competition Contribution)abstractAbstract 2LS is a framework for analysis of sequential C programs based on the CPROVER infrastructure and template-based synthesis techniques for checking both safety and termination. The paper presents the main improvements done in 2LS since 2018, which concern mainly the way 2LS handles dynamically allocated objects and structures as well as combinations of abstract domains. Viktor Malík, Peter Schrammel, Tomás Vojnar |
TACAS (2) | 2 |
| 2019 | JBMC: Bounded Model Checking for Java Bytecode - (Competition Contribution)abstractJBMC is a bounded model checking tool for verifying Java bytecode. It is built on top of the CPROVER framework. JBMC processes Java bytecode together with a model of the standard Java libraries. It checks a set of desired properties, such as assertions and absence of uncaught exceptions, under given bounds on loops, recursion and data structures. Internally, it uses the same bounded model checking engine as its sibling tool CBMC and discharges the generated verification conditions with the help of MiniSAT 2.2.1. Lucas C. Cordeiro, Daniel Kroening, Peter Schrammel |
TACAS (3) | 3 |
| 2018 | JBMC: A Bounded Model Checking Tool for Verifying Java BytecodeabstractWe present a bounded model checking tool for verifying Java bytecode, which is built on top of the CPROVER framework, named Java Bounded Model Checker (JBMC). JBMC processes Java bytecode together with a model of the standard Java libraries and checks a set of desired properties. Experimental results show that JBMC can correctly verify a set of Java benchmarks from the literature and that it is competitive with two state-of-the-art Java verifiers. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves. Lucas C. Cordeiro, Pascal Kesseli, Daniel Kroening, Peter Schrammel, Marek Trtík |
CAV (1) | 4 |
| 2018 | Template-Based Verification of Heap-Manipulating ProgramsabstractWe propose a shape analysis suitable for analysis engines that perform automatic invariant inference using an SMT solver. The proposed solution includes an abstract template domain that encodes the shape of the program heap based on logical formulae over bit-vectors. It is based on computing a points-to relation between pointers and symbolic addresses of abstract memory objects. Our abstract heap domain can be combined with value domains in a straightforward manner, which particularly allows us to reason about shapes and contents of heap structures at the same time. The information obtained from the analysis can be used to prove memory safety and reachability properties, expressed by user assertions, of programs manipulating dynamic data structures, mainly linked lists. The solution has been implemented in the 2LS framework and compared against state-of-the-art tools that perform the best in heap-related categories of the well-known Software Verification Competition (SV-COMP). Results show that 2LS outperforms these tools on benchmarks requiring combined reasoning about unbounded data structures and their numerical contents. Viktor Malík, Martin Hruska, Peter Schrammel, Tomás Vojnar |
FMCAD | 3 |
| 2018 | 2LS: Memory Safety and Non-termination - (Competition Contribution)
Viktor Malík, Stefan Marticek, Peter Schrammel, Mandayam K. Srivas, Tomás Vojnar, Johanan Wahlang |
TACAS (2) | 3 |
| 2018 | Effective Verification for Low-Level Software with Competing InterruptsabstractInterrupt-driven software is difficult to test and debug, especially when interrupts can be nested and subject to priorities. Interrupts can arrive at arbitrary times, leading to an exponential blow-up in the number of cases to consider. We present a new formal approach to verifying interrupt-driven software based on symbolic execution. The approach leverages recent advances in the encoding of the execution traces of interacting, concurrent threads. We assess the performance of our method on benchmarks drawn from embedded systems code and device drivers, and experimentally compare it to conventional approaches that use source-to-source transformations. Our results show that our method significantly outperforms these techniques. To the best of our knowledge, our work is the first to demonstrate effective verification of low-level embedded software with nested interrupts. Lihao Liang, Tom Melham, Daniel Kroening, Peter Schrammel, Michael Tautschnig |
ACM Trans. Embed. Comput. Syst. | 4 |
| 2018 | Bit-Precise Procedure-Modular Termination AnalysisabstractNon-termination is the root cause of a variety of program bugs, such as hanging programs and denial-of-service vulnerabilities. This makes an automated analysis that can prove the absence of such bugs highly desirable. To scale termination checks to large systems, an interprocedural termination analysis seems essential. This is a largely unexplored area of research in termination analysis, where most effort has focussed on small but difficult single-procedure problems. We present a modular termination analysis for C programs using template-based interprocedural summarisation. Our analysis combines a context-sensitive, over-approximating forward analysis with the inference of under-approximating preconditions for termination. Bit-precise termination arguments are synthesised over lexicographic linear ranking function templates. Our experimental results show the advantage of interprocedural reasoning over monolithic analysis in terms of efficiency, while retaining comparable precision. Hong-Yi Chen, Cristina David, Daniel Kroening, Peter Schrammel, Björn Wachter |
ACM Trans. Program. Lang. Syst. | 4 |
| 2017 | Compositional Safety Refutation Techniques
Kumar Madhukar, Peter Schrammel, Mandayam K. Srivas |
ATVA | 2 |
| 2017 | Lifting CDCL to Template-Based Abstract Domains for Program Verification
Rajdeep Mukherjee, Peter Schrammel, Leopold Haller, Daniel Kroening, Tom Melham |
ATVA | 2 |
| 2017 | Concurrent Program Verification with Invariant-Guided Underapproximation
Sumanth Prabhu S, Peter Schrammel, Mandayam K. Srivas, Michael Tautschnig, Anand Yeolekar |
ATVA | 2 |
| 2017 | Parallel bug-finding in concurrent programs via reduced interleaving instancesabstractConcurrency poses a major challenge for program verification, but it can also offer an opportunity to scale when subproblems can be analysed in parallel. We exploit this opportunity here and use a parametrizable code-to-code translation to generate a set of simpler program instances, each capturing a reduced set of the original program's interleavings. These instances can then be checked independently in parallel. Our approach does not depend on the tool that is chosen for the final analysis, is compatible with weak memory models, and amplifies the effectiveness of existing tools, making them find bugs faster and with fewer resources. We use Lazy-CSeq as an off-the-shelf final verifier to demonstrate that our approach is able, already with a small number of cores, to find bugs in the hardest known concurrency benchmarks in a matter of minutes, whereas other dynamic and static tools fail to do so in hours. Truc L. Nguyen, Peter Schrammel, Bernd Fischer 0002, Salvatore La Torre, Gennaro Parlato |
ASE | 2 |
| 2017 | Incremental bounded model checking for embedded softwareabstractAbstract Program analysis is on the brink of mainstream usage in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and test case generation are some of the most common applications of automated verification tools based on bounded model checking (BMC). Existing industrial tools for embedded software use an off-the-shelf bounded model checker and apply it iteratively to verify the program with an increasing number of unwindings. This approach unnecessarily wastes time repeating work that has already been done and fails to exploit the power of incremental SAT solving. This article reports on the extension of the software model checker C BMC to support incremental BMC and its successful integration with the industrial embedded software verification tool BTC E MBEDDED TESTER . We present an extensive evaluation over large industrial embedded programs, mainly from the automotive industry. We show that incremental BMC cuts runtimes by one order of magnitude in comparison to the standard non-incremental approach, enabling the application of formal verification to large and complex embedded software. We furthermore report promising results on analysing programs with arbitrary loop structure using incremental BMC, demonstrating its applicability and potential to verify general software beyond the embedded domain. Peter Schrammel, Daniel Kroening, Martin Brain, Ruben Martins, Tino Teige, Tom Bienmüller |
Formal Aspects Comput. | 1 |
| 2016 | Unbounded safety verification for hardware using software analyzers
Rajdeep Mukherjee, Peter Schrammel, Daniel Kroening, Tom Melham |
DATE | 2 |
| 2016 | Sound static deadlock analysis for C/PthreadsabstractWe present a static deadlock analysis approach for C/pthreads. The design of our method has been guided by the requirement to analyse real-world code. Our approach is sound (i.e., misses no deadlocks) for programs that have defined behaviour according to the C standard and the pthreads specification, and is precise enough to prove deadlock-freedom for a large number of such programs. The method consists of a pipeline of several analyses that build on a new context- and thread-sensitive abstract interpretation framework. We further present a lightweight dependency analysis to identify statements relevant to deadlock analysis and thus speed up the overall analysis. In our experimental evaluation, we succeeded to prove deadlock-freedom for 292 programs from the Debian GNU/Linux distribution with in total 2.3 MLOC in 4 hours. Daniel Kroening, Daniel Poetzl, Peter Schrammel, Björn Wachter |
ASE | 3 |
| 2016 | 2LS for Program Analysis - (Competition Contribution)
Peter Schrammel, Daniel Kroening |
TACAS | 1 |
| 2016 | Generating test case chains for reactive systemsabstractTesting of reactive systems is challenging because long input sequences are often needed to drive them into a state to test a desired feature. This is particularly problematic in on-target testing , where a system is tested in its real-life application environment and the amount of time required for resetting is high. This article presents an approach to discovering a test case chain —a single software execution that covers a group of test goals and minimizes overall test execution time. Our technique targets the scenario in which test goals for the requirements are given as safety properties. We give conditions for the existence and minimality of a single test case chain and minimize the number of test case chains if a single test case chain is infeasible. We report experimental results with our ChainCover tool for C code generated from Simulink models and compare it to state-of-the-art test suite generators. Peter Schrammel, Tom Melham, Daniel Kroening |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 2015 | Effective verification of low-level software with nested interrupts
Daniel Kroening, Lihao Liang, Tom Melham, Peter Schrammel, Michael Tautschnig |
DATE | 4 |
| 2015 | Unbounded-time reachability analysis of hybrid systems by abstract accelerationabstractLinear dynamical systems are ubiquitous in hybrid systems, both as physical models or as software control modules. Therefore we need an unbounded-time reachability analysis that can cope with industrial-scale hybrid system models with hundreds of variables. Abstract acceleration is a method developed for the unbounded-time polyhedral reachability analysis of linear software loops that has made promising progress in recent years. The method relies on a relaxation of the solution of the linear recurrence equation, leading to a precise convex over-approximation of the set of reachable states. It has been shown to be competitive with alternative approaches using set-based simulation or constraint solving. This paper explains the basic concepts of the technique, surveys recent advances of the technique towards the application to hybrid discrete and continuous-time linear dynamical systems, and formulates challenges to be tackled. Peter Schrammel |
EMSOFT | 1 |
| 2015 | Successful Use of Incremental BMC in the Automotive Industry
Peter Schrammel, Daniel Kroening, Martin Brain, Ruben Martins, Tino Teige, Tom Bienmüller |
FMICS | 1 |
| 2015 | Synthesising Interprocedural Bit-Precise Termination Proofs (T)abstractProving program termination is key to guaranteeing absence of undesirable behaviour, such as hanging programs and even security vulnerabilities such as denial-of-service attacks. To make termination checks scale to large systems, interprocedural termination analysis seems essential, which is a largely unexplored area of research in termination analysis, where most effort has focussed on difficult single-procedure problems. We present a modular termination analysis for C programs using template-based interprocedural summarisation. Our analysis combines a context-sensitive, over-approximating forward analysis with the inference of under-approximating preconditions for termination. Bit-precise termination arguments are synthesised over lexicographic linear ranking function templates. Our experimental results show that our tool 2LS outperforms state-of-the-art alternatives, and demonstrate the clear advantage of interprocedural reasoning over monolithic analysis in terms of efficiency, while retaining comparable precision. Hong-Yi Chen, Cristina David, Daniel Kroening, Peter Schrammel, Björn Wachter |
ASE | 4 |
| 2015 | Safety Verification and Refutation by k-Invariants and k-Induction
Martin Brain, Saurabh Joshi 0001, Daniel Kroening, Peter Schrammel |
SAS | 4 |
| 2015 | Unbounded-Time Analysis of Guarded LTI Systems with Inputs by Abstract Acceleration
Dario Cattaruzza, Alessandro Abate, Peter Schrammel, Daniel Kroening |
SAS | 3 |
| 2014 | Necessary and Sufficient Preconditions via Eager Abstraction
Mohamed Nassim Seghir, Peter Schrammel |
APLAS | 2 |
| 2014 | Model and Proof Generation for Heap-Manipulating Programs
Martin Brain, Cristina David, Daniel Kroening, Peter Schrammel |
ESOP | 4 |
| 2014 | Accelerated test execution using GPUsabstractAs product life-cycles become shorter and the scale and complexity of systems increase, accelerating the execution of large test suites gains importance. Existing research has primarily focussed on techniques that reduce the size of the test suite. By contrast, we propose a technique that accelerates test execution, allowing test suites to run in a fraction of the original time, by parallel execution with a Graphics Processing Unit (GPU). Ajitha Rajan, Subodh Sharma 0001, Peter Schrammel, Daniel Kroening |
ASE | 3 |
| 2014 | Abstract acceleration of general linear loopsabstractWe present abstract acceleration techniques for computing loop invariants for numerical programs with linear assignments and conditionals. Whereas abstract interpretation techniques typically over-approximate the set of reachable states iteratively, abstract acceleration captures the effect of the loop with a single, non-iterative transfer function applied to the initial states at the loop head. In contrast to previous acceleration techniques, our approach applies to any linear loop without restrictions. Its novelty lies in the use of the Jordan normal form decomposition of the loop body to derive symbolic expressions for the entries of the matrix modeling the effect of η ≥ Ο iterations of the loop. The entries of such a matrix depend on η through complex polynomial, exponential and trigonometric functions. Therefore, we introduces an abstract domain for matrices that captures the linear inequality relations between these complex expressions. This results in an abstract matrix for describing the fixpoint semantics of the loop. Bertrand Jeannet, Peter Schrammel, Sriram Sankaranarayanan 0001 |
POPL | 2 |
| 2014 | Speeding Up Logico-Numerical Strategy Iteration
David Monniaux, Peter Schrammel |
SAS | 2 |
| 2014 | Abstract acceleration in linear relation analysis
Laure Gonnord, Peter Schrammel |
Sci. Comput. Program. | 2 |
| 2013 | Chaining Test Cases for Reactive System Testing
Peter Schrammel, Tom Melham, Daniel Kroening |
ICTSS | 1 |
| 2013 | Logico-Numerical Max-Strategy Iteration
Peter Schrammel, Pavle Subotic |
VMCAI | 1 |
| 2012 | From hybrid data-flow languages to hybrid automata: a complete translationabstractHybrid systems are used to model embedded computing systems interacting with their physical environment. There is a conceptual mismatch between high-level hybrid system languages like Simulink, which are used for simulation, and hybrid automata, the most suitable representation for safety verification. Indeed, in simulation languages the interaction between discrete and continuous execution steps is specified using the concept of zero-crossings, whereas hybrid automata exploit the notion of staying conditions. We describe a translation from a hybrid data-flow language to logico-numerical hybrid automata that points out this issue carefully. We expose various zero-crossing semantics, propose a sound translation, and discuss to which extent the original semantics is preserved. Peter Schrammel, Bertrand Jeannet |
HSCC | 1 |
| 2012 | Applying abstract acceleration to (co-)reachability analysis of reactive programs
Peter Schrammel, Bertrand Jeannet |
J. Symb. Comput. | 1 |
| 2011 | Logico-Numerical Abstract Acceleration and Application to the Verification of Data-Flow Programs
Peter Schrammel, Bertrand Jeannet |
SAS | 1 |