VLDB 2026 Research / reviewers in the wild / expert
Matthias Brun 0002
dblp:53/3541-2
· DBLP profile ↗
5ranked-venue papers
3as first author
4since 2021 · last 2024
0009-0004-5349-4347ORCID · 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 · 3 since 2021Theory of computation · 2 · 2 first-author · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Verus: A Practical Foundation for Systems VerificationabstractFormal verification is a promising approach to eliminate bugs at compile time, before they ship. Indeed, our community has verified a wide variety of system software. However, much of this success has required heroic developer effort, relied on bespoke logics for individual domains, or sacrificed expressiveness for powerful proof automation. Andrea Lattuada 0001, Travis Hance, Jay Bosamiya, Matthias Brun 0002, Chanhee Cho, Hayley LeBlanc, Pranav Srinivasan, Reto Achermann, Tej Chajed, Chris Hawblitzel, Jon Howell, Jacob R. Lorch, Oded Padon, Bryan Parno |
SOSP | 4 |
| 2023 | Beyond isolation: OS verification as a foundation for correct applicationsabstractVerified systems software has generally had to assume the correctness of the operating system and its provided services (like networking and the file system). Even though there exist verified operating systems and file systems, the specifications for these components do not compose with applications to produce a fully verified high-performance software stack. Matthias Brun 0002, Reto Achermann, Tej Chajed, Jon Howell, Gerd Zellweger, Andrea Lattuada 0001 |
HotOS | 1 |
| 2023 | Verus: Verifying Rust Programs using Linear Ghost TypesabstractThe Rust programming language provides a powerful type system that checks linearity and borrowing, allowing code to safely manipulate memory without garbage collection and making Rust ideal for developing low-level, high-assurance systems. For such systems, formal verification can be useful to prove functional correctness properties beyond type safety. This paper presents Verus, an SMT-based tool for formally verifying Rust programs. With Verus, programmers express proofs and specifications using the Rust language, allowing proofs to take advantage of Rust's linear types and borrow checking. We show how this allows proofs to manipulate linearly typed permissions that let Rust code safely manipulate memory, pointers, and concurrent resources. Verus organizes proofs and specifications using a novel mode system that distinguishes specifications, which are not checked for linearity and borrowing, from executable code and proofs, which are checked for linearity and borrowing. We formalize Verus' linearity, borrowing, and modes in a small lambda calculus, for which we prove type safety and termination of specifications and proofs. We demonstrate Verus on a series of examples, including pointer-manipulating code (an xor-based doubly linked list), code with interior mutability, and concurrent code. Andrea Lattuada 0001, Travis Hance, Chanhee Cho, Matthias Brun 0002, Isitha Subasinghe, Yi Zhou 0025, Jon Howell, Bryan Parno, Chris Hawblitzel |
Proc. ACM Program. Lang. | 4 |
| 2021 | Verified Progress Tracking for Timely DataflowabstractLarge-scale stream processing systems often follow the dataflow paradigm, which enforces a program structure that exposes a high degree of parallelism. The Timely Dataflow distributed system supports expressive cyclic dataflows for which it offers low-latency data- and pipeline-parallel stream processing. To achieve high expressiveness and performance, Timely Dataflow uses an intricate distributed protocol for tracking the computation’s progress. We modeled the progress tracking protocol as a combination of two independent transition systems in the Isabelle/HOL proof assistant. We specified and verified the safety of the two components and of the combined protocol. To this end, we identified abstract assumptions on dataflow programs that are sufficient for safety and were not previously formalized. Matthias Brun 0002, Sára Decova, Andrea Lattuada 0001, Dmitriy Traytel |
ITP | 1 |
| 2019 | Generic Authenticated Data Structures, FormallyabstractAuthenticated data structures are a technique for outsourcing data storage and maintenance to an untrusted server. The server is required to produce an efficiently checkable and cryptographically secure proof that it carried out precisely the requested computation. Recently, Miller et al. [https://doi.org/10.1145/2535838.2535851] demonstrated how to support a wide range of such data structures by integrating an authentication construct as a first class citizen in a functional programming language. In this paper, we put this work to the test of formalization in the Isabelle proof assistant. With Isabelle’s help, we uncover and repair several mistakes and modify the small-step semantics to perform call-by-value evaluation rather than requiring terms to be in administrative normal form. Matthias Brun 0002, Dmitriy Traytel |
ITP | 1 |