VLDB 2026 Research / reviewers in the wild / expert
Peter Lammich
dblp:49/5258
· DBLP profile ↗
46ranked-venue papers
24as first author
14since 2021 · last 2026
0000-0003-3576-0504ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 26 · 17 first-author · 8 since 2021Software engineering, systems software and programming languages · 19 · 6 first-author · 7 since 2021Artificial intelligence and machine learning · 13 · 8 first-author · 4 since 2021Security and privacy · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Fractional Separation Logic in Isabelle LLVMabstractWe present a shallow embedding of fractional separation logic in Isabelle/HOL, based on fractional separation algebras with unbounded fractions. To support flexible ownership splitting and recombination, we use nominal labels that enable systematic distribution and collection of fractional permissions across separating conjunctions. The logic is integrated into a verification condition generator that automates substantial parts of fraction arithmetic and label reasoning, significantly reducing manual proof effort. As a backend, we connect the framework to Isabelle LLVM, enabling the verification of executable LLVM code. As a case study, we verify a parallel matrix-vector multiplication. The example illustrates recursive reasoning, parallel writes to disjoint segments of the result vector, and shared read access to the input vector via fractional permissions. Peter Lammich |
ITP | 1 |
| 2025 | A Formally Verified IEEE 754 Floating-Point Implementation of Interval Iteration for MDPsabstractAbstract We present an efficiently executable, formally verified implementation of interval iteration for MDPs. Our correctness proofs span the entire development from the high-level abstract semantics of MDPs to a low-level implementation in LLVM that is based on floating-point arithmetic. We use the Isabelle/HOL proof assistant to verify convergence of our abstract definition of interval iteration and employ step-wise refinement to derive an efficient implementation in LLVM code. To that end, we extend the Isabelle Refinement Framework with support for reasoning about floating-point arithmetic and directed rounding modes. We experimentally demonstrate that the verified implementation is competitive with state-of-the-art tools for MDPs, while providing formal guarantees on the correctness of the results. Bram Kohlen, Maximilian Schäffeler, Mohammad Abdulaziz, Arnd Hartmanns, Peter Lammich |
CAV (2) | 5 |
| 2025 | Verifying an Efficient Algorithm for Computing Bernoulli NumbersabstractThe Bernoulli numbers Bk are a sequence of rational numbers that is ubiquitous in mathematics, but difficult to compute efficiently (compared to e.g. approximating π). In 2008, Harvey gave the currently fastest known practical way for computing them: his algorithm computes Bk mod p in time O(plog1+o(1) p). By doing this for O(k) many small primes p in parallel and then combining the results with the Chinese Remainder Theorem, one recovers the value of Bk as a rational number in O(k2 log2+o(1) k) time. One advantage of this approach is that the expensive part of the algorithm is highly parallelisable and has very low memory requirements. This algorithm still holds the world record with its computation of B108. We give a verified efficient LLVM implementation of this algorithm. This was achieved by formalising the necessary mathematical background theory in Isabelle/HOL, proving an abstract version of the algorithm correct, and refining this abstract version down to LLVM using Lammich’s Isabelle-LLVM framework, including many low-level optimisations. The performance of the resulting LLVM code is comparable with Harvey’s original unverified and hand-optimised C++ implementation. Manuel Eberl, Peter Lammich |
ITP | 2 |
| 2024 | Efficient Formally Verified Maximal End Component Decomposition for MDPsabstractAbstract Identifying a Markov decision process’s maximal end components is a prerequisite for applying sound probabilistic model checking algorithms. In this paper, we present the first mechanized correctness proof of a maximal end component decomposition algorithm, which is an important algorithm in model checking, using the Isabelle/HOL theorem prover. We iteratively refine the high-level algorithm and proof into an imperative LLVM bytecode implementation that we integrate into the Modest Toolset ’s existing model checker. We bring the benefits of interactive theorem proving into practice by reducing the trusted code base of a popular probabilistic model checker and we experimentally show that our new verified maximal end component decomposition in performs on par with the tool’s previous unverified implementation. Arnd Hartmanns, Bram Kohlen, Peter Lammich |
FM (1) | 3 |
| 2024 | Fast and Verified UNSAT Certificate CheckingabstractAbstract We describe a formally verified checker for unsatisfiability certificates in the LRAT format, which can be run in parallel with the SAT solver, processing the certificate while it is being produced. It is implemented time and memory efficiently, thus increasing the trust in the SAT solver at low additional cost. The verification is done w.r.t. a grammar of the DIMACS format and a semantics of CNF formulas, down to the LLVM code of the checker. In this paper, we report on the checker and its design process using the Isabelle-LLVM stepwise refinement approach. Peter Lammich |
IJCAR (1) | 1 |
| 2024 | Refinement of Parallel Algorithms Down to LLVM: Applied to Practically Efficient Parallel SortingabstractAbstract We present a stepwise refinement approach to develop verified parallel algorithms, down to efficient LLVM code. The resulting algorithms’ performance is competitive with their counterparts implemented in C++. Our approach is backwards compatible with the Isabelle Refinement Framework, such that existing sequential formalizations can easily be adapted or re-used. As case study, we verify a parallel quicksort algorithm that is competitive to unverified state-of-the-art algorithms. Peter Lammich |
J. Autom. Reason. | 1 |
| 2023 | Fast Verified SCCs for Probabilistic Model Checking
Arnd Hartmanns, Bram Kohlen, Peter Lammich |
ATVA (1) | 3 |
| 2023 | A More Pragmatic CDCL for IsaSAT and Targetting LLVM (Short Paper)abstractAbstract IsaSAT is the most advanced verified SAT solver, but it did not yet feature inprocessing (to simplify and strengthen clauses). In order to improve performance, we enriched the base calculus to not only do CDCL but also inprocess clauses. We also replaced the target of our code synthesis by Isabelle/LLVM. With these improvements, we can solve 4 times more SAT Competition 2022 problems than the original IsaSAT version, and 4.5 times more problems than any other verified SAT solver we are aware of. Additionally, our changes significantly reduce the trusted code base of our verification. Mathias Fleury, Peter Lammich |
CADE | 2 |
| 2023 | WasmRef-Isabelle: A Verified Monadic Interpreter and Industrial Fuzzing Oracle for WebAssemblyabstractWe present WasmRef-Isabelle, a monadic interpreter for WebAssembly written in Isabelle/HOL and proven correct with respect to the WasmCert-Isabelle mechanisation of WebAssembly. WasmRef-Isabelle has been adopted and deployed as a fuzzing oracle in the continuous integration infrastructure of Wasmtime, a widely used WebAssembly implementation. Previous efforts to fuzz Wasmtime against WebAssembly's official OCaml reference interpreter were abandoned by Wasmtime's developers after the reference interpreter exhibited unacceptable performance characteristics, which its maintainers decided not to fix in order to preserve the interpreter's close definitional correspondence with the official specification. With WasmRef-Isabelle, we achieve the best of both worlds - an interpreter fast enough to be useable as a fuzzing oracle that also maintains a close correspondence with the specification through a mechanised proof of correctness. We verify the correctness of WasmRef-Isabelle through a two-step refinement proof in Isabelle/HOL. We demonstrate that WasmRef-Isabelle significantly outperforms the official reference interpreter, has performance comparable to a Rust debug build of the industry WebAssembly interpreter Wasmi, and competes with unverified oracles on fuzzing throughput when deployed in Wasmtime's fuzzing infrastructure. We also present several new extensions to WasmCert-Isabelle which enhance WasmRef-Isabelle's utility as a fuzzing oracle: we add support for a number of upcoming WebAssembly features, and fully mechanise the numeric semantics of WebAssembly's integer operations. Conrad Watt, Maja Trela, Peter Lammich, Florian Märkl |
Proc. ACM Program. Lang. | 3 |
| 2022 | Refinement of Parallel Algorithms down to LLVM
Peter Lammich |
ITP | 1 |
| 2022 | For a Few Dollars More: Verified Fine-Grained Algorithm Analysis Down to LLVMabstractWe present a framework to verify both, functional correctness and (amortized) worst-case complexity of practically efficient algorithms. We implemented a stepwise refinement approach, using the novel concept of resource currencies to naturally structure the resource analysis along the refinement chain, and allow a fine-grained analysis of operation counts. Our framework targets the LLVM intermediate representation. We extend its semantics from earlier work with a cost model. As case studies, we verify the amortized constant time push operation on dynamic arrays and the O ( n log n ) introsort algorithm, and refine them down to efficient LLVM implementations. Our sorting algorithm performs on par with the state-of-the-art implementation found in the GNU C++ Library, and provably satisfies the complexity required by the C++ standard. Maximilian P. L. Haslbeck, Peter Lammich |
ACM Trans. Program. Lang. Syst. | 2 |
| 2021 | For a Few Dollars More - Verified Fine-Grained Algorithm Analysis Down to LLVMabstractAbstract We present a framework to verify both, functional correctness and worst-case complexity of practically efficient algorithms. We implemented a stepwise refinement approach, using the novel concept of resource currencies to naturally structure the resource analysis along the refinement chain, and allow a fine-grained analysis of operation counts. Our framework targets the LLVM intermediate representation. We extend its semantics from earlier work with a cost model. As case study, we verify the correctness and $$O(n\log n)$$ O ( n log n ) worst-case complexity of an implementation of the introsort algorithm, whose performance is on par with the state-of-the-art implementation found in the GNU C++ Library. Maximilian P. L. Haslbeck, Peter Lammich |
ESOP | 2 |
| 2021 | Bounded-Deducibility Security (Invited Paper)abstractWe describe Bounded-Deducibility (BD) security, an expressive framework for the specification and verification of information-flow security. The framework grew by confronting concrete challenges of specifying and verifying fine-grained confidentiality properties in some realistic web-based systems. The concepts and theorems that constitute this framework have an eventful history of such "confrontations", often involving trial and error, which are reported in previous papers. This paper is the first to focus on the framework itself rather than the case studies, gathering in one place all the abstract results about BD security. Andrei Popescu 0001, Thomas Bauereiß, Peter Lammich |
ITP | 3 |
| 2021 | CoCon: A Conference Management System with Formally Verified Document ConfidentialityabstractAbstract We present a case study in formally verified security for realistic systems: the information flow security verification of the functional kernel of a web application, the CoCon conference management system. We use the Isabelle theorem prover to specify and verify fine-grained confidentiality properties, as well as complementary safety and “traceback” properties. The challenges posed by this development in terms of expressiveness have led to bounded-deducibility security, a novel security model and verification method generally applicable to systems describable as input/output automata. Andrei Popescu 0001, Peter Lammich, Ping Hou |
J. Autom. Reason. | 2 |
| 2020 | Efficient Verified (UN)SAT Certificate CheckingabstractSAT solvers decide the satisfiability of Boolean formulas in conjunctive normal form. They are commonly used for software and hardware verification. Modern SAT solvers are highly complex and optimized programs. As a single bug in the solver may invalidate the verification of many systems, SAT solvers output certificates for their answer, which are then checked independently. However, even certificate checking requires highly optimized non-trivial programs. This paper presents the first SAT solver certificate checker that is formally verified down to the integer sequence representing the formula. Our tool supports the full DRAT standard, and is even faster than the unverified state-of-the-art tool drat-trim , on a realistic set of benchmarks drawn from the 2016 and 2017 SAT competitions. An optional multi-threaded mode further reduces the runtime, in particular for big certificates. Peter Lammich |
J. Autom. Reason. | 1 |
| 2019 | Refinement with Time - Refining the Run-Time of Algorithms in Isabelle/HOLabstractSeparation Logic with Time Credits is a well established method to formally verify the correctness and run-time of algorithms, which has been applied to various medium-sized use-cases. Refinement is a technique in program verification that makes software projects of larger scale manageable. Combining these two techniques for the first time, we present a methodology for verifying the functional correctness and the run-time analysis of algorithms in a modular way. We use it to verify Kruskal’s minimum spanning tree algorithm and the Edmonds - Karp algorithm for network flow. An adaptation of the Isabelle Refinement Framework [Lammich and Tuerk, 2012] enables us to specify the functional result and the run-time behaviour of abstract algorithms which can be refined to more concrete algorithms. From these, executable imperative code can be synthesized by an extension of the Sepref tool [Lammich, 2015], preserving correctness and the run-time bounds of the abstract algorithm. Maximilian P. L. Haslbeck, Peter Lammich |
ITP | 2 |
| 2019 | Generating Verified LLVM from Isabelle/HOL
Peter Lammich |
ITP | 1 |
| 2019 | Proof Pearl: Purely Functional, Simple and Efficient Priority Search Trees and Applications to Prim and DijkstraabstractThe starting point of this paper is a new, purely functional, simple and efficient data structure combining a search tree and a priority queue, which we call a priority search tree. The salient feature of priority search trees is that they offer a decrease-key operation, something that is missing from other simple, purely functional priority queue implementations. As two applications of this data structure we verify purely functional, simple and efficient implementations of Prim’s and Dijkstra’s algorithms. This constitutes the first verification of an executable and even efficient version of Prim’s algorithm. Peter Lammich, Tobias Nipkow |
ITP | 1 |
| 2019 | Formal Verification of Memory Preservation of x86-64 Binaries
Joshua A. Bockenek, Freek Verbeek, Peter Lammich, Binoy Ravindran |
SAFECOMP | 3 |
| 2019 | Refinement to Imperative HOL
Peter Lammich |
J. Autom. Reason. | 1 |
| 2019 | Automatic Refinement to Efficient Data Structures: A Comparison of Two Approaches
Peter Lammich, Andreas Lochbihler |
J. Autom. Reason. | 1 |
| 2019 | Formalizing Network Flow Algorithms: A Refinement Approach in Isabelle/HOL
Peter Lammich, S. Reza Sefidgar |
J. Autom. Reason. | 1 |
| 2018 | A verified SAT solver with watched literals using imperative HOLabstractBased on our earlier formalization of conflict-driven clause learning (CDCL) in Isabelle/HOL, we refine the CDCL calculus to add a crucial optimization: two watched literals. We formalize the data structure and the invariants. Then we refine the calculus to obtain an executable SAT solver. Through a chain of refinements carried out using the Isabelle Refinement Framework, we target Imperative HOL and extract imperative Standard ML code. Although our solver is not competitive with the state of the art, it offers acceptable performance for some applications, and heuristics can be added to improve it further. Mathias Fleury, Jasmin Blanchette, Peter Lammich |
CPP | 3 |
| 2018 | A Formally Verified Validator for Classical Planning Problems and SolutionsabstractIn this paper we present a formally verified validator for planning problems and their solutions. We formalise the semantics of a fragment of PDDL (V, ¬, →, = in the preconditions, typing and constants) in the Higher-Order Logic theorem prover Isabelle/HOL. We then construct an efficient plan validator and mechanically prove it correct w.r.t. our semantics. We argue that our approach provides a superior compromise in constructing validators where one can have the best of two worlds: (i) clear and concise semantics w.r.t. which the validator is built thus helping to avoid bugs (unlike existing validators, which we show have bugs) and (ii) an optimised implementation whose performance is competitive with mainstream unverified validators. Mohammad Abdulaziz, Peter Lammich |
ICTAI | 2 |
| 2018 | Verified Model Checking of Timed Automata
Simon Wimmer 0001, Peter Lammich |
TACAS (1) | 2 |
| 2018 | A Verified SAT Solver Framework with Learn, Forget, Restart, and IncrementalityabstractWe developed a formal framework for conflict-driven clause learning (CDCL) using the Isabelle/HOL proof assistant. Through a chain of refinements, an abstract CDCL calculus is connected first to a more concrete calculus, then to a SAT solver expressed in a functional programming language, and finally to a SAT solver in an imperative language, with total correctness guarantees. The framework offers a convenient way to prove metatheorems and experiment with variants, including the Davis-Putnam-Logemann-Loveland (DPLL) calculus. The imperative program relies on the two-watched-literal data structure and other optimizations found in modern solvers. We used Isabelle's Refinement Framework to automate the most tedious refinement steps. The most noteworthy aspects of our work are the inclusion of rules for forget, restart, and incremental solving and the application of stepwise refinement. Jasmin Blanchette, Mathias Fleury, Peter Lammich, Christoph Weidenbach |
J. Autom. Reason. | 3 |
| 2018 | Formal Verification of an Executable LTL Model Checker with Partial Order Reduction
Julian Brunner 0001, Peter Lammich |
J. Autom. Reason. | 2 |
| 2017 | Efficient Verified (UN)SAT Certificate Checking
Peter Lammich |
CADE | 1 |
| 2017 | The GRAT Tool Chain - Efficient (UN)SAT Certificate Checking with Formal Correctness Guarantees
Peter Lammich |
SAT | 1 |
| 2016 | Refinement based verification of imperative data structuresabstractIn this paper we present a stepwise refinement based top-down approach to verified imperative data structures. Our approach is modular in the sense that already verified data structures can be used for construction of more complex data structures. Moreover, our data structures can be used as building blocks for the verification of algorithms. Our tool chain supports refinement down to executable code in various programming languages, and is fully implemented in Isabelle/HOL, such that its trusted code base is only the inference kernel and the code generator of Isabelle/HOL. As a case study, we verify an indexed heap data structure, and use it to generate an efficient verified implementation of Dijkstra's algorithm. Peter Lammich |
CPP | 1 |
| 2016 | Formalizing the Edmonds-Karp Algorithm
Peter Lammich, S. Reza Sefidgar |
ITP | 1 |
| 2015 | A Framework for Verifying Depth-First Search AlgorithmsabstractMany graph algorithms are based on depth-first search (DFS). The formalizations of such algorithms typically share many common ideas. In this paper, we summarize these ideas into a framework in Isabelle/HOL. Peter Lammich, René Neumann |
CPP | 1 |
| 2015 | Refinement to Imperative/HOL
Peter Lammich |
ITP | 1 |
| 2014 | A Conference Management System with Verified Document Confidentiality
Sudeep Kanav, Peter Lammich, Andrei Popescu 0001 |
CAV | 2 |
| 2014 | Verified Efficient Implementation of Gabow's Strongly Connected Component Algorithm
Peter Lammich |
ITP | 1 |
| 2013 | A Fully Verified Executable LTL Model Checker
Javier Esparza, Peter Lammich, René Neumann, Tobias Nipkow, Alexander Schimpf, Jan-Georg Smaus |
CAV | 2 |
| 2013 | Automatic Data Refinement
Peter Lammich |
ITP | 1 |
| 2013 | Contextual Locking for Dynamic Pushdown Networks
Peter Lammich, Markus Müller-Olm, Helmut Seidl, Alexander Wenner |
SAS | 1 |
| 2012 | Applying Data Refinement for Monadic Programs to Hopcroft's Algorithm
Peter Lammich, Thomas Tuerk |
ITP | 1 |
| 2011 | Static analysis of interrupt-driven programs synchronized via the priority ceiling protocolabstractWe consider programs for embedded real-time systems which use priority-driven preemptive scheduling with task priorities adjusted dynamically according to the immediate ceiling priority protocol. For these programs, we provide static analyses for detecting data races between tasks running at different priorities as well as methods to guarantee transactional execution of procedures. Beyond that, we demonstrate how general techniques for value analyses can be adapted to this setting by developing a precise analysis of affine equalities. Martin D. Schwarz, Helmut Seidl, Vesal Vojdani, Peter Lammich, Markus Müller-Olm |
POPL | 4 |
| 2011 | Join-Lock-Sensitive Forward Reachability Analysis for Concurrent Programs with Dynamic Process Creation
Thomas Gawlitza, Peter Lammich, Markus Müller-Olm, Helmut Seidl, Alexander Wenner |
VMCAI | 2 |
| 2011 | A decision procedure for detecting atomicity violations for communicating processes with locks
Nicholas Kidd, Peter Lammich, Tayssir Touili, Thomas W. Reps |
Int. J. Softw. Tools Technol. Transf. | 2 |
| 2010 | The Isabelle Collections Framework
Peter Lammich, Andreas Lochbihler |
ITP | 1 |
| 2009 | Predecessor Sets of Dynamic Pushdown Networks with Tree-Regular Constraints
Peter Lammich, Markus Müller-Olm, Alexander Wenner |
CAV | 1 |
| 2008 | Conflict Analysis of Programs with Procedures, Dynamic Thread Creation, and Monitors
Peter Lammich, Markus Müller-Olm |
SAS | 1 |
| 2007 | Precise Fixpoint-Based Analysis of Programs with Thread-Creation and Procedures
Peter Lammich, Markus Müller-Olm |
CONCUR | 1 |