VLDB 2026 Research / reviewers in the wild / expert
Yann Régis-Gianas
dblp:44/4388
· DBLP profile ↗
17ranked-venue papers
2as first author
2since 2021 · last 2022
0000-0002-0745-8730ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 12 · 1 first-author · 1 since 2021Theory of computation · 9 · 1 first-author · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | The CoLiS platform for the analysis of maintainer scripts in Debian software packages
Benedikt F. H. Becker, Nicolas Jeannerod, Claude Marché, Yann Régis-Gianas, Mihaela Sighireanu, Ralf Treinen |
Int. J. Softw. Tools Technol. Transf. | 4 |
| 2021 | Modular verification of programs with effects and effects handlersabstractAbstract Modern computing systems have grown in complexity, and even though system components are generally carefully designed and even verified by different groups of people, thecompositionof these components is often regarded with less attention. Inconsistencies between components’ assumptions on the rest of the system can have significant repercussions on this system, and may ultimately lead to safety or security issues. In this article, we introduce FreeSpec, a formalismbuilt upon the key idea that components can bemodeled as programs with algebraic effects to be realized by other components. FreeSpec allows for the modular modeling of a complex system, by defining idealized components connected together, and the modular verification of the properties of their composition. In addition, we have implemented a framework for the Coq proof assistant based on FreeSpec. Thomas Letan, Yann Régis-Gianas, Pierre Chifflier, Guillaume Hiet |
Formal Aspects Comput. | 2 |
| 2020 | FreeSpec: specifying, verifying, and executing impure computations in CoqabstractFreeSpec is a framework for the Coq theorem prover which allows for specifying and verifying complex systems as hierarchies of components verified both in isolation and in composition. While FreeSpec was originally introduced for reasoning about hardware architectures, in this article we propose a novel iteration of FreeSpec formalism specifically designed to write certified programs and libraries. Then, we present in depth how we use this formalism to verify a static files webserver. We use this opportunity to present FreeSpec proof automation tactics, and to demonstrate how they successfully erase FreeSpec internal definitions to let users focus on the core of their proofs. Finally, we introduce FreeSpec.Exec, a plugin for Coq to seamlessly execute certified programs written with FreeSpec. Thomas Letan, Yann Régis-Gianas |
CPP | 2 |
| 2020 | Analysing installation scenarios of Debian packagesabstractAbstract The Debian distribution includes more than 28 thousand maintainer scripts, almost all of them are written in Posix shell. These scripts are executed with root privileges at installation, update, and removal of a package, which make them critical for system maintenance. While Debian policy provides guidance for package maintainers producing the scripts, few tools exist to check the compliance of a script to it. We report on the application of a formal verification approach based on symbolic execution to find violations of some non-trivial properties required by Debian policy in maintainer scripts. We present our methodology and give an overview of our toolchain. We obtained promising results: our toolchain is effective in analysing a large set of Debian maintainer scripts and it pointed out over 150 policy violations that lead to reports (more than half already fixed) on the Debian Bug Tracking system. Benedikt F. H. Becker, Nicolas Jeannerod, Claude Marché, Yann Régis-Gianas, Mihaela Sighireanu, Ralf Treinen |
TACAS (2) | 4 |
| 2019 | Incremental \lambda -Calculus in Cache-Transfer Style - Static Memoization by Program TransformationabstractIncremental computation requires propagating changes and reusing intermediate results of base computations. Derivatives, as produced by static differentiation [7], propagate changes but do not reuse intermediate results, leading to wasteful recomputation. As a solution, we introduce conversion to Cache-Transfer-Style, an additional program transformations producing purely incremental functional programs that create and maintain nested tuples of intermediate results. To prove CTS conversion correct, we extend the correctness proof of static differentiation from STLC to untyped $$\lambda $$ -calculus via step-indexed logical relations, and prove sound the additional transformation via simulation theorems. To show ILC-based languages can improve performance relative to from-scratch recomputation, and that CTS conversion can extend its applicability, we perform an initial performance case study. We provide derivatives of primitives for operations on collections and incrementalize selected example programs using those primitives, confirming expected asymptotic speedups. Paolo G. Giarrusso, Yann Régis-Gianas, Philipp Schuster |
ESOP | 2 |
| 2018 | Modular Verification of Programs with Effects and Effect Handlers in Coq
Thomas Letan, Yann Régis-Gianas, Pierre Chifflier, Guillaume Hiet |
FM | 2 |
| 2018 | Morbig: a static parser for POSIX shellabstractThe POSIX shell language defies conventional wisdom of compiler construction on several levels: The shell language was not designed for static parsing, but with an intertwining of syntactic analysis and execution by expansion in mind. Token recognition cannot be specified by regular expressions, lexical analysis depends on the parsing context and the evaluation context, and the shell grammar given in the specification is ambiguous. Besides, the unorthodox design choices of the shell language fit badly in the usual specification languages used to describe other programming languages. This makes the standard usage of LEX and YACC as a pipeline inadequate for the implementation of a parser for POSIX shell. Yann Régis-Gianas, Nicolas Jeannerod, Ralf Treinen |
SLE | 1 |
| 2018 | Mtac2: typed tactics for backward reasoning in CoqabstractCoq supports a range of built-in tactics, which are engineered primarily to support backward reasoning . Starting from a desired goal, the Coq programmer can use these tactics to manipulate the proof state interactively, applying axioms or lemmas to break the goal into subgoals until all subgoals have been solved. Additionally, it provides support for tactic programming via OCaml and Ltac, so that users can roll their own custom proof automation routines. Unfortunately, though, these tactic languages share a significant weakness. They do not offer the tactic programmer any static guarantees about the soundness of their custom tactics, making large tactic developments difficult to maintain. To address this limitation, Ziliani et al. previously proposed Mtac , a new typed approach to custom proof automation in Coq which provides the static guarantees that OCaml and Ltac are missing. However, despite its name, Mtac is really more of a metaprogramming language than it is a full-blown tactic language: it misses an essential feature of tactic programming, namely the ability to directly manipulate Coq’s proof state and perform backward reasoning on it. In this paper, we present Mtac2 , a next-generation version of Mtac that combines its support for typed metaprogramming with additional support for the programming of backward-reasoning tactics in the style of Ltac. In so doing, Mtac2 introduces a novel feature in tactic programming languages—what we call typed backward reasoning . With this feature, Mtac2 is capable of statically ruling out several classes of errors that would otherwise remain undetected at tactic definition time. We demonstrate the utility of Mtac2’s typed tactics by porting several tactics from a large Coq development, the Iris Proof Mode, from Ltac to Mtac2. Jan-Oliver Kaiser, Beta Ziliani, Robbert Krebbers, Yann Régis-Gianas, Derek Dreyer |
Proc. ACM Program. Lang. | 4 |
| 2017 | Verifiable semantic difference languagesabstractProgram differences are usually represented as textual differences on source code with no regard to its syntax or its semantics. In this paper, we introduce semantic-aware difference languages. A difference denotes a relation between program reduction traces. A difference language for the toy imperative programming language Imp is given as an illustration. Thibaut Girka, David Mentré, Yann Régis-Gianas |
PPDP | 3 |
| 2017 | Copattern matching and first-class observations in OCaml, with a macroabstractInfinite data structures are elegantly defined by means of copattern matching, a dual construction to pattern matching that expresses the outcomes of the observations of an infinite structure. We extend the OCaml programming language with copatterns, exploiting the duality between pattern matching and copattern matching. Provided that a functional programming language has GADTs, every copattern matching can be transformed into a pattern matching via a purely local syntactic transformation, a macro. The development of this extension leads us to a generalization of previous calculus of copatterns: the introduction of first-class observation queries. We study this extension both from a formal and practical point of view. Paul Laforgue, Yann Régis-Gianas |
PPDP | 2 |
| 2015 | A Mechanically Checked Generation of Correlating Programs Directed by Structured Syntactic Differences
Thibaut Girka, David Mentré, Yann Régis-Gianas |
ATVA | 3 |
| 2013 | Lightweight Proof by Reflection Using a Posteriori Simulation of Effectful Computation
Guillaume Claret, Lourdes Del Carmen González-Huesca, Yann Régis-Gianas, Beta Ziliani |
ITP | 3 |
| 2012 | Certifying and Reasoning on Cost Annotations in C Programs
Nicholas Ayache, Roberto M. Amadio, Yann Régis-Gianas |
FMICS | 3 |
| 2008 | A Hoare Logic for Call-by-Value Functional Programs
Yann Régis-Gianas, François Pottier |
MPC | 1 |
| 2006 | Stratified type inference for generalized algebraic data typesabstractStratified type inference for generalized algebraic data types. François Pottier, Yann Régis-Gianas |
POPL | 2 |
| 2004 | Introducing VAUCANSON
Sylvain Lombardy, Yann Régis-Gianas, Jacques Sakarovitch |
Theor. Comput. Sci. | 2 |
| 2003 | Introducing VAUCANSON
Sylvain Lombardy, Raphael 'kena' Poss, Yann Régis-Gianas, Jacques Sakarovitch |
CIAA | 3 |