Demo Data from EDBT 2026 / reviewers in the wild / expert
Martin Clochard
dblp:139/2440
· DBLP profile ↗
5ranked-venue papers
2as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 1 first-author · 1 since 2021Artificial intelligence and machine learning · 1 · 1 first-authorTheory of computation · 1 · 1 since 2021
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
4 papers |
Program verification · 68% Programming languages and type systems · 18% Concurrent programming · 10% | |
| Theoretical computer science
1 paper |
Mathematical optimization · 100% |
Topics — the 12 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program verification
deductive verification |
0.9 | 2 | 2021 | Gobra: Modular Specification and Verification of Go Programs · CAV (1) 2021 Deductive verification with ghost monitors · Proc. ACM Program. Lang. 2020 |
Concurrent programming › concurrency bugs
data race freedom |
0.5 | 1 | 2021 | Gobra: Modular Specification and Verification of Go Programs · CAV (1) 2021 |
Programming languages and type systems › language-based security
memory safety |
0.5 | 1 | 2021 | Gobra: Modular Specification and Verification of Go Programs · CAV (1) 2021 |
Program verification
modular verification |
0.5 | 1 | 2021 | Gobra: Modular Specification and Verification of Go Programs · CAV (1) 2021 |
Program verification
distributed system verification |
0.4 | 1 | 2020 | Igloo: soundly linking compositional refinement and separation logic for distributed system verification · Proc. ACM Program. Lang. 2020 |
Program verification
program logic |
0.4 | 1 | 2020 | Deductive verification with ghost monitors · Proc. ACM Program. Lang. 2020 |
Program verification
refinement |
0.4 | 1 | 2020 | Igloo: soundly linking compositional refinement and separation logic for distributed system verification · Proc. ACM Program. Lang. 2020 |
Program verification › program logic
separation logic |
0.4 | 1 | 2020 | Igloo: soundly linking compositional refinement and separation logic for distributed system verification · Proc. ACM Program. Lang. 2020 |
Programming languages and type systems › type systems
soundness |
0.4 | 1 | 2020 | Deductive verification with ghost monitors · Proc. ACM Program. Lang. 2020 |
Program synthesis and code generation › formal synthesis
parameter synthesis |
0.2 | 1 | 2014 | Bridging boolean and quantitative synthesis using smoothed proof search · POPL 2014 |
Program verification
relational property |
0.1 | 1 | 2020 | Deductive verification with ghost monitors · Proc. ACM Program. Lang. 2020 |
Mathematical optimization › continuous optimization
smooth optimization |
0.1 | 1 | 2014 | Bridging boolean and quantitative synthesis using smoothed proof search · POPL 2014 |
Methods — techniques the papers use, named apart from their topics
viper · 0.5separation logic · 0.5SMT solving · 0.5verifast · 0.4transfinite games · 0.4nagini · 0.4ghost code · 0.4formalisation · 0.4Isabelle/HOL · 0.4numerical optimization · 0.4smoothed proof search · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Gobra: Modular Specification and Verification of Go ProgramsabstractAbstract Go is an increasingly-popular systems programming language targeting, especially, concurrent and distributed systems. Go differentiates itself from other imperative languages by offering structural subtyping and lightweight concurrency through goroutines with message-passing communication. This combination of features poses interesting challenges for static verification, most prominently the combination of a mutable heap and advanced concurrency primitives. We present Gobra, a modular, deductive program verifier for Go that proves memory safety, crash safety, data-race freedom, and user-provided specifications. Gobra is based on separation logic and supports a large subset of Go. Its implementation translates an annotated Go program into the Viper intermediate verification language and uses an existing SMT-based verification backend to compute and discharge proof obligations. Felix A. Wolf, Linard Arquint, Martin Clochard, Wytse Oortwijn, João Carlos Pereira, Peter Müller 0001 |
CAV (1) | 3 |
| 2020 | Igloo: soundly linking compositional refinement and separation logic for distributed system verificationabstractLighthouse projects like CompCert, seL4, IronFleet, and DeepSpec have demonstrated that full system verification is feasible by establishing a refinement between an abstract system specification and an executable implementation. Existing approaches however impose severe restrictions on the abstract system specifications due to their limited expressiveness or versatility, or on the executable code due to their use of suboptimal code extraction or inexpressive program logics. We propose a novel methodology that combines the compositional refinement of event-based models of distributed systems with the verification of full-fledged program code using expressive separation logics, which support features of realistic programming languages like heap data structures and concurrency. Our main technical contribution is a formal framework that soundly relates event-based system models to program specifications in separation logics. This enables protocol development tools to soundly interoperate with program verifiers to establish a refinement between the model and the code. We formalized our framework, Igloo, in Isabelle/HOL. We report on three case studies, a leader election protocol, a replication protocol, and a security protocol, for which we refine formal requirements into program specifications that we implement in Java and Python and prove correct using the VeriFast and Nagini tools. Christoph Sprenger 0001, Tobias Klenze, Marco Eilers, Felix A. Wolf, Peter Müller 0001, Martin Clochard, David A. Basin |
Proc. ACM Program. Lang. | 6 |
| 2020 | Deductive verification with ghost monitorsabstractWe present a new approach to deductive program verification based on auxiliary programs called ghost monitors . This technique is useful when the syntactic structure of the target program is not well suited for verification, for example, when an essentially recursive algorithm is implemented in an iterative fashion. Our approach consists in implementing, specifying, and verifying an auxiliary program that monitors the execution of the target program, in such a way that the correctness of the monitor entails the correctness of the target. The ghost monitor maintains the necessary data and invariants to facilitate the proof. It can be implemented and verified in any suitable framework, which does not have to be related to the language of the target programs. This technique is also applicable when we want to establish relational properties between two target programs written in different languages and having different syntactic structure. We then show how ghost monitors can be used to specify and prove fine-grained properties about the infinite behaviors of target programs. Since this cannot be easily done using existing verification frameworks, we introduce a dedicated language for ghost monitors, with an original construction to catch and handle divergent executions. The soundness of the underlying program logic is established using a particular flavor of transfinite games. This language and its soundness are formalized and mechanically checked. Martin Clochard, Claude Marché, Andrei Paskevich |
Proc. ACM Program. Lang. | 1 |
| 2018 | The Matrix Reproved (Verification Pearl)
Martin Clochard, Léon Gondelman, Mário Pereira |
J. Autom. Reason. | 1 |
| 2014 | Bridging boolean and quantitative synthesis using smoothed proof searchabstractWe present a new technique for parameter synthesis under boolean and quantitative objectives. The input to the technique is a "sketch" --- a program with missing numerical parameters --- and a probabilistic assumption about the program's inputs. The goal is to automatically synthesize values for the parameters such that the resulting program satisfies: (1) a {boolean specification}, which states that the program must meet certain assertions, and (2) a {quantitative specification}, which assigns a real valued rating to every program and which the synthesizer is expected to optimize. Our method --- called smoothed proof search --- reduces this task to a sequence of unconstrained smooth optimization problems that are then solved numerically. By iteratively solving these problems, we obtain parameter values that get closer and closer to meeting the boolean specification; at the limit, we obtain values that provably meet the specification. The approximations are computed using a new notion of smoothing for program abstractions, where an abstract transformer is approximated by a function that is continuous according to a metric over abstract states. We present a prototype implementation of our synthesis procedure, and experimental results on two benchmarks from the embedded control domain. The experiments demonstrate the benefits of smoothed proof search over an approach that does not meet the boolean and quantitative synthesis goals simultaneously. Swarat Chaudhuri, Martin Clochard, Armando Solar-Lezama |
POPL | 2 |