Demo Data from SIGIR 2026 / reviewers in the wild / expert
Clément Allain
dblp:384/7328
· DBLP profile ↗
4ranked-venue papers
4as first author
4since 2021 · last 2026
0009-0005-2972-5181ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 4 first-author · 4 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
2 papers |
Program verification · 36% Compilers and program optimization · 31% Concurrent programming · 18% |
Topics — the 7 heaviest of 8, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
concurrent data structures |
1.0 | 1 | 2026 | Zoo: A Framework for the Verification of Concurrent OCaml 5 Programs using Separation Logic · Proc. ACM Program. Lang. 2026 |
Program verification
concurrent program verification |
1.0 | 1 | 2026 | Zoo: A Framework for the Verification of Concurrent OCaml 5 Programs using Separation Logic · Proc. ACM Program. Lang. 2026 |
Program verification › program logic › separation logic
concurrent separation logic |
1.0 | 1 | 2026 | Zoo: A Framework for the Verification of Concurrent OCaml 5 Programs using Separation Logic · Proc. ACM Program. Lang. 2026 |
Compilers and program optimization
compiler correctness |
0.9 | 1 | 2025 | Tail Modulo Cons, OCaml, and Relational Separation Logic · Proc. ACM Program. Lang. 2025 |
Compilers and program optimization › compiler optimization › control flow optimization
tail call optimization |
0.9 | 1 | 2025 | Tail Modulo Cons, OCaml, and Relational Separation Logic · Proc. ACM Program. Lang. 2025 |
Programming languages and type systems
functional programming |
0.3 | 1 | 2025 | Tail Modulo Cons, OCaml, and Relational Separation Logic · Proc. ACM Program. Lang. 2025 |
Programming languages and type systems › functional language
OCaml |
0.3 | 1 | 2025 | Tail Modulo Cons, OCaml, and Relational Separation Logic · Proc. ACM Program. Lang. 2025 |
Methods — techniques the papers use, named apart from their topics
rocq proof assistant · 1.0iris concurrent separation logic · 1.0deep embedding · 1.0simuliris · 0.9relational separation logic · 0.9iris · 0.9coq · 0.9
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Zoo: A Framework for the Verification of Concurrent OCaml 5 Programs using Separation LogicabstractThe release of OCaml 5, which introduced parallelism in the OCaml runtime, drove the need for safe and efficient concurrent data structures. New libraries like Saturn address this need. This is an opportunity to apply and further state-of-the-art program verification techniques. We present Zoo, a framework for verifying fine-grained concurrent OCaml 5 algorithms. Following a pragmatic approach, we defined a limited but sufficient fragment of the language to faithfully express these algorithms: ZooLang. We formalized its semantics carefully via a deep embedding in the Rocq proof assistant, uncovering subtle aspects of physical equality. We provide a tool to translate source OCaml programs into ZooLang syntax embedded inside Rocq, where they can be specified and verified using the Iris concurrent separation logic. To illustrate the applicability of Zoo, we verified a subset of the standard library and a collection of fined-grained concurrent data structures from the Saturn and Eio libraries. In the process, we also extended OCaml to more efficiently express certain concurrent programs. Clément Allain, Gabriel Scherer |
Proc. ACM Program. Lang. | 1 |
| 2026 | A Verified Parallel Scheduler for OCaml 5abstractWe present the implementation and mechanized verification of a realistic parallel scheduler for OCaml 5 using the Iris-based Zoo framework. Similarly to Domainslib, it relies on a work-stealing strategy to perform load balancing but also supports other scheduling strategies thanks to its flexible interface. e provide basic benchmarks demonstrating that its performance is on par with other schedulers from the OCaml ecosystem. As part of this effort, we verify the Chase-Lev work-stealing deque, as implemented in the Saturn library. We show that it features a subtle external and future-dependent linearization point. To deal with it, we introduce new abstractions for reasoning about prophecy variables in Iris. Clément Allain, Gabriel Scherer |
Proc. ACM Program. Lang. | 1 |
| 2025 | Tail Modulo Cons, OCaml, and Relational Separation LogicabstractCommon functional languages incentivize tail-recursive functions, as opposed to general recursive functions that consume stack space and may not scale to large inputs. This distinction occasionally requires writing functions in a tail-recursive style that may be more complex and slower than the natural, non-tail-recursive definition. This work describes our implementation of the tail modulo constructor (TMC) transformation in the OCaml compiler, an optimization that provides stack-efficiency for a larger class of functions — tail-recursive modulo constructors — which includes in particular the natural definition of List.map and many similar recursive data-constructing functions. We prove the correctness of this program transformation in a simplified setting — a small untyped calculus — that captures the salient aspects of the OCaml implementation. Our proof is mechanized in the Coq proof assistant, using the Iris base logic. An independent contribution of our work is an extension of the Simuliris approach to define simulation relations that support different calling conventions. To our knowledge, this is the first use of Simuliris to prove the correctness of a compiler transformation. Clément Allain, Frédéric Bour, Basile Clément, François Pottier, Gabriel Scherer |
Proc. ACM Program. Lang. | 1 |
| 2024 | Snapshottable StoresabstractWe say that an imperative data structure is snapshottable or supports snapshots if we can efficiently capture its current state, and restore a previously captured state to become the current state again. This is useful, for example, to implement backtracking search processes that update the data structure during search. Inspired by a data structure proposed in 1978 by Baker, we present a snapshottable store, a bag of mutable references that supports snapshots. Instead of capturing and restoring an array, we can capture an arbitrary set of references (of any type) and restore all of them at once. This snapshottable store can be used as a building block to support snapshots for arbitrary data structures, by simply replacing all mutable references in the data structure by our store references. We present use-cases of a snapshottable store when implementing type-checkers and automated theorem provers. Our implementation is designed to provide a very low overhead over normal references, in the common case where the capture/restore operations are infrequent. Read and write in store references are essentially as fast as in plain references in most situations, thanks to a key optimisation we call record elision. In comparison, the common approach of replacing references by integer indices into a persistent map incurs a logarithmic overhead on reads and writes, and sophisticated algorithms typically impose much larger constant factors. The implementation, which is inspired by Baker’s and the OCaml implementation of persistent arrays by Conchon and Filliâtre, is both fairly short and very hard to understand: it relies on shared mutable state in subtle ways. We provide a mechanized proof of correctness of its core using the Iris framework for the Coq proof assistant. Clément Allain, Basile Clément, Alexandre Moine 0001, Gabriel Scherer |
Proc. ACM Program. Lang. | 1 |