Demo Data from SIGIR 2026 / reviewers in the wild / expert
Basile Clément
dblp:239/4197
· DBLP profile ↗
3ranked-venue papers
1as first author
3since 2021 · last 2025
0000-0002-9126-0937ORCID · corroborated
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 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 |
Compilers and program optimization · 62% Program verification · 23% Programming languages and type systems · 14% |
Topics — the 9 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization
compiler correctness |
1.4 | 2 | 2025 | Tail Modulo Cons, OCaml, and Relational Separation Logic · Proc. ACM Program. Lang. 2025 End-to-end translation validation for the halide language · Proc. ACM Program. Lang. 2022 |
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 |
Program verification
deductive verification |
0.6 | 1 | 2022 | End-to-end translation validation for the halide language · Proc. ACM Program. Lang. 2022 |
Program verification
SMT-based verification |
0.6 | 1 | 2022 | End-to-end translation validation for the halide language · Proc. ACM Program. Lang. 2022 |
Compilers and program optimization › verified compilation
translation validation |
0.6 | 1 | 2022 | End-to-end translation validation for the halide language · Proc. ACM Program. Lang. 2022 |
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 |
Compilers and program optimization
domain-specific compilation |
0.2 | 1 | 2022 | End-to-end translation validation for the halide language · Proc. ACM Program. Lang. 2022 |
Programming languages and type systems › domain-specific languages
halide |
0.2 | 1 | 2022 | End-to-end translation validation for the halide language · Proc. ACM Program. Lang. 2022 |
Methods — techniques the papers use, named apart from their topics
simuliris · 0.9relational separation logic · 0.9iris · 0.9coq · 0.9translation validation · 0.6affine solver · 0.6SMT solving · 0.6
| Year | Publication | Venue | Position |
|---|---|---|---|
| 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. | 3 |
| 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. | 2 |
| 2022 | End-to-end translation validation for the halide languageabstractThis paper considers the correctness of domain-specific compilers for tensor programming languages through the study of Halide, a popular representative. It describes a translation validation algorithm for affine Halide specifications, independently of the scheduling language. The algorithm relies on “prophetic” annotations added by the compiler to the generated array assignments. The annotations provide a refinement mapping from assignments in the generated code to the tensor definitions from the specification. Our implementation leverages an affine solver and a general SMT solver, and scales to complete Halide benchmarks. Basile Clément, Albert Cohen 0001 |
Proc. ACM Program. Lang. | 1 |