VLDB 2026 Research / reviewers in the wild / expert
Alan Schmitt
dblp:36/5932
· DBLP profile ↗
37ranked-venue papers
1as first author
8since 2021 · last 2024
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 20 · 6 since 2021Software engineering, systems software and programming languages · 19 · 1 first-author · 4 since 2021Artificial intelligence and machine learning · 3 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 2Computer networks · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Leaf-First Zipper Semantics
Sergueï Lenglet, Alan Schmitt |
FORTE | 2 |
| 2024 | Optimizing a Non-Deterministic Abstract Machine with EnvironmentsabstractNon-deterministic abstract machine (NDAM) is a recent implementation model for programming languages where one must choose among several redexes at each reduction step, like process calculi. These machines can be derived from a zipper semantics, a mix between structural operational semantics and context-based reduction semantics. Such a machine has been generated also for the λ-calculus without a fixed reduction strategy, i.e., with the full non-deterministic β-reduction. In that machine, substitution is an external operation that replaces all the occurrences of a variable at once. Implementing substitution with environments is more low-level and more efficient as variables are replaced only when needed. In this paper, we define a NDAM with environments for the λ-calculus without a fixed reduction strategy. We also introduce other optimizations, including a form of refocusing, and we show that we can restrict our optimized NDAM to recover some of the usual λ-calculus machines, e.g., the Krivine Abstract Machine. Most of the improvements we propose in this work could be applied to other NDAMs as well. Malgorzata Biernacka, Dariusz Biernacki, Sergueï Lenglet, Alan Schmitt |
FSCD | 4 |
| 2024 | Fully Abstract Encodings of $\lambda$-Calculus in HOcore through Abstract MachinesabstractWe present fully abstract encodings of the call-by-name and call-by-value $\lambda$-calculus into HOcore, a minimal higher-order process calculus with no name restriction. We consider several equivalences on the $\lambda$-calculus side -- normal-form bisimilarity, applicative bisimilarity, and contextual equivalence -- that we internalize into abstract machines in order to prove full abstraction of the encodings. We also demonstrate that this technique scales to the $\lambda\mu$-calculus, i.e., a standard extension of the $\lambda$-calculus with control operators. Malgorzata Biernacka, Dariusz Biernacki, Sergueï Lenglet, Piotr Polesiuk, Damien Pous, Alan Schmitt |
Log. Methods Comput. Sci. | 6 |
| 2022 | Non-Deterministic Abstract MachinesabstractWe present a generic design of abstract machines for non-deterministic programming languages, such as process calculi or concurrent lambda calculi, that provides a simple way to implement them. Such a machine traverses a term in the search for a redex, making non-deterministic choices when several paths are possible and backtracking when it reaches a dead end, i.e., an irreducible subterm. The search is guaranteed to terminate thanks to term annotations the machine introduces along the way. We show how to automatically derive a non-deterministic abstract machine from a zipper semantics - a form of structural operational semantics in which the decomposition process of a term into a context and a redex is made explicit. The derivation method ensures the soundness and completeness of the machines w.r.t. the zipper semantics. Malgorzata Biernacka, Dariusz Biernacki, Sergueï Lenglet, Alan Schmitt |
CONCUR | 4 |
| 2022 | Certified abstract machines for skeletal semanticsabstractSkeletal semantics is a framework to describe semantics of programming languages. We propose an automatic generation of a certified OCaml interpreter for any language written in skeletal semantics. To this end, we introduce two new interpretations, i.e., formal meanings, of skeletal semantics, in the form of non-deterministic and deterministic abstract machines. These machines are derived from the usual big-step interpretation of skeletal semantics using functional correspondence, a standard transformation from big-step evaluators to abstract machines. All these interpretations are formalized in the Coq proof assistant and we certify their soundness. We finally use the extraction from Coq to OCaml to obtain the certified interpreter. Guillaume Ambal, Sergueï Lenglet, Alan Schmitt |
CPP | 3 |
| 2022 | Certified Derivation of Small-Step From Big-Step Skeletal SemanticsabstractWe present an automatic translation of a skeletal semantics written in big-step style into an equivalent structural operational semantics. This translation is implemented on top of the Necro tool, which lets us automatically generate an OCaml interpreter for the small step semantics and a Coq mechanization of both semantics. We prove the framework correct in two ways: we provide a paper proof of the core of the transformation, and we generate Coq certification scripts alongside the transformation. We illustrate the approach using a simple imperative language and show how it scales to larger languages. Guillaume Ambal, Sergueï Lenglet, Alan Schmitt, Camille Noûs |
PPDP | 3 |
| 2022 | A Faithful Description of ECMAScript AlgorithmsabstractWe present an ongoing formalization of algorithms of ECMAScript, the specification describing the semantics of JavaScript, in a tiny functional meta-language. We show that this formalization is concise, readable, maintainable, and textually close to the specification. We extract an OCaml interpreter from our description and run small JavaScript programs whose semantics is based on these algorithms. Adam Khayam, Louis Noizet, Alan Schmitt |
PPDP | 3 |
| 2021 | HOπ in Coq
Guillaume Ambal, Sergueï Lenglet, Alan Schmitt |
J. Autom. Reason. | 3 |
| 2019 | Skeletal semantics and their interpretationsabstractThe development of mechanised language specification based on structured operational semantics, with applications to verified compilers and sound program analysis, requires huge effort. General theory and frameworks have been proposed to help with this effort. However, none of this work provides a systematic way of developing concrete and abstract semantics, connected together by a general consistency result. We introduce a skeletal semantics of a language, where each skeleton describes the complete semantic behaviour of a language construct. We define a general notion of interpretation , which provides a systematic and language-independent way of deriving semantic judgements from the skeletal semantics. We explore four generic interpretations: a simple well-formedness interpretation; a concrete interpretation; an abstract interpretation; and a constraint generator for flow-sensitive analysis. We prove general consistency results between interpretations, depending only on simple language-dependent lemmas. We illustrate our ideas using a simple While language. Martin Bodin, Philippa Gardner, Thomas P. Jensen, Alan Schmitt |
Proc. ACM Program. Lang. | 4 |
| 2018 | HOπ in CoqabstractWe propose a formalization of HOπ in Coq, a process calculus where messages carry processes. Such a higher-order calculus features two very different kinds of binder: process input, similar to λ-abstraction, and name restriction, whose scope can be expanded by communication. We formalize strong context bisimilarity and prove it is compatible, i.e., closed under every context, using Howe’s method, based on several proof schemes we developed in a previous paper. Sergueï Lenglet, Alan Schmitt |
CPP | 2 |
| 2017 | Fully abstract encodings of λ-calculus in HOcore through abstract machinesabstractWe present fully abstract encodings of the call-by-name λ-calculus into HOcore, a minimal higher-order process calculus with no name restriction. We consider several equivalences on the λ-calculus side - normal-form bisimilarity, applicative bisimilarity, and contextual equivalence - that we internalize into abstract machines in order to prove full abstraction. Malgorzata Biernacka, Dariusz Biernacki, Sergueï Lenglet, Piotr Polesiuk, Damien Pous, Alan Schmitt |
LICS | 6 |
| 2015 | Howe's Method for Contextual SemanticsabstractWe show how to use Howe's method to prove that context bisimilarity is a congruence for process calculi equipped with their usual semantics. We apply the method to two extensions of HOpi, with passivation and with join patterns, illustrating different proof techniques. Sergueï Lenglet, Alan Schmitt |
CONCUR | 2 |
| 2015 | Certified Abstract Interpretation with Pretty-Big-Step SemanticsabstractThis paper describes an investigation into developing certified abstract interpreters from big-step semantics using the Coq proof assistant. We base our approach on Schmidt's abstract interpretation principles for natural semantics, and use a pretty-big-step (PBS) semantics, a semantic format proposed by Charguéraud. We propose a systematic representation of the PBS format and implement it in Coq. We then show how the semantic rules can be abstracted in a methodical fashion, independently of the chosen abstract domain, to produce a set of abstract inference rules that specify an abstract interpreter. We prove the correctness of the abstract interpreter in Coq once and for all, under the assumption that abstract operations faithfully respect the concrete ones. We finally show how to define correct-by-construction analyses: their correction amounts to proving they belong to the abstract semantics. Martin Bodin, Thomas P. Jensen, Alan Schmitt |
CPP | 3 |
| 2015 | Expressive Logical Combinators for Free
Pierre Genevès, Alan Schmitt |
IJCAI | 2 |
| 2015 | HOCore in Coq
Petar Maksimovic 0001, Alan Schmitt |
ITP | 2 |
| 2015 | Efficiently Deciding μ-Calculus with Converse over Finite TreesabstractWe present a sound and complete satisfiability-testing algorithm and its effective implementation for an alternation-free modal μ-calculus with converse, where formulas are cycle-free and are interpreted over finite ordered trees. The time complexity of the satisfiability-testing algorithm is 2 O( n ) in terms of formula size n . The algorithm is implemented using symbolic techniques (BDD). We present crucial implementation techniques and heuristics that we used to make the algorithm as fast as possible in practice. Our implementation is available online and can be used to solve logical formulas of significant size and practical value. We illustrate this in the setting of XML trees. Pierre Genevès, Nabil Layaïda, Alan Schmitt, Nils Gesbert |
ACM Trans. Comput. Log. | 3 |
| 2014 | A trusted mechanised JavaScript specificationabstractJavaScript is the most widely used web language for client-side applications. Whilst the development of JavaScript was initially just led by implementation, there is now increasing momentum behind the ECMA standardisation process. The time is ripe for a formal, mechanised specification of JavaScript, to clarify ambiguities in the ECMA standards, to serve as a trusted reference for high-level language compilation and JavaScript implementations, and to provide a platform for high-assurance proofs of language properties. Martin Bodin, Arthur Charguéraud, Daniele Filaretti, Philippa Gardner, Sergio Maffeis, Daiva Naudziuniene, Alan Schmitt, Gareth Smith |
POPL | 7 |
| 2013 | Concurrent Flexible Reversibility
Ivan Lanese, Michael Lienhardt, Claudio Antares Mezzina, Alan Schmitt, Jean-Bernard Stefani |
ESOP | 4 |
| 2011 | Controlling Reversibility in Higher-Order Pi
Ivan Lanese, Claudio Antares Mezzina, Alan Schmitt, Jean-Bernard Stefani |
CONCUR | 3 |
| 2011 | Query Reasoning on Trees with Types, Interleaving, and CountingabstractA major challenge of query language design is the combination of expressivity with effective static analyses such as query containment. In the setting of XML, documents are seen as finite trees, whose structure may additionally be constrained by type constraints such as those described by an XML schema. We consider the problem of query containment in the presence of type constraints for a class of regular path queries extended with counting and interleaving operators. The counting operator restricts the number of occurrences of children nodes satisfying a given logical property. The interleaving operator provides a succinct notation for describing the absence of order between nodes satisfying a logical property. We provide a logic-based framework supporting these operators, which can be used to solve common query reasoning problems such as satisfiability and containment of queries in exponential time. 1 Everardo Bárcenas, Pierre Genevès, Nabil Layaïda, Alan Schmitt |
IJCAI | 4 |
| 2011 | On the expressiveness and decidability of higher-order process calculi
Ivan Lanese, Jorge A. Pérez 0001, Davide Sangiorgi, Alan Schmitt |
Inf. Comput. | 4 |
| 2011 | Characterizing contextual equivalence in calculi with passivation
Sergueï Lenglet, Alan Schmitt, Jean-Bernard Stefani |
Inf. Comput. | 2 |
| 2010 | On the Expressiveness of Polyadic and Synchronous Communication in Higher-Order Process Calculi
Ivan Lanese, Jorge A. Pérez 0001, Davide Sangiorgi, Alan Schmitt |
ICALP (2) | 4 |
| 2009 | Howe's Method for Calculi with Passivation
Sergueï Lenglet, Alan Schmitt, Jean-Bernard Stefani |
CONCUR | 2 |
| 2009 | Normal Bisimulations in Calculi with Passivation
Sergueï Lenglet, Alan Schmitt, Jean-Bernard Stefani |
FoSSaCS | 2 |
| 2008 | Typing communicating component assemblagesabstractBuilding complex component-based software architectures can lead to subtle assemblage errors. In this paper, we introduce a type-system-based approach to avoid message handling errors when assembling component-based communication systems. Such errors are not captured by classical type systems of host programming languages such as Java or ML. Our approach relies on the definition of a small process calculus that captures the operational essence of our target component-based framework for communication systems, and on the definition of a novel type system that combines row types with process types. Michael Lienhardt, Alan Schmitt, Jean-Bernard Stefani |
GPCE | 2 |
| 2008 | On the Expressiveness and Decidability of Higher-Order Process CalculiabstractIn higher-order process calculi the values exchanged in communications may contain processes. A core calculus of higher-order concurrency is studied; it has only the operators necessary to express higher-order communications: input prefix, process output, and parallel composition. By exhibiting a nearly deterministic encoding of Minsky machines, the calculus is shown to be Turing complete and therefore its termination problem is undecidable. Strong bisimilarity, however, is shown to be decidable. Further, the main forms of strong bisimilarity for higher-order processes (higher-order bisimilarity, context bisimilarity, normal bisimilarity, barbed congruence) coincide. They also coincide with their asynchronous versions. A sound and complete axiomatization of bisimilarity is given. Finally, bisimilarity is shown to become undecidable if at least four static (i.e., top-level) restrictions are added to the calculus. Ivan Lanese, Jorge A. Pérez 0001, Davide Sangiorgi, Alan Schmitt |
LICS | 4 |
| 2008 | Boomerang: resourceful lenses for string dataabstractA lens is a bidirectional program. When read from left toright, it denotes an ordinary function that maps inputs to outputs. When read from right to left, it denotes an ''update translator'' that takes an input together with an updated output and produces a new input that reflects the update. Many variants of this idea have been explored in the literature, but none deal fully with ordered data. If, for example, an update changes the order of a list in theoutput, the items in the output list and the chunks of the input that generated them can be misaligned, leading to lost or corrupted data. Aaron Bohannon, Nate Foster, Benjamin C. Pierce, Alexandre Pilkiewicz, Alan Schmitt |
POPL | 5 |
| 2007 | Oz/K: a kernel language for component-based open programmingabstractProgramming in an open environment remains challenging because it requires combining modularity, security, concurrency, distribution, and dynamicity. In this paper, we propose an approach to open distributed programming that exploits the notion of locality, which has been used in the past decade as a basis for several distributed process calculi such as Mobile Ambients, Dπ, and Seal. We use the locality concept as a form of component that serves as a unit of modularity, of isolation, and of passivation. Specifically, we introduce in this paper Oz/K, a kernel programming language, that adds to the Oz computation model a notion of locality borrowed from the Kell calculus. We present an operational semantics for the language and several examples to illustrate how Oz/K supports open distributed programming. Michael Lienhardt, Alan Schmitt, Jean-Bernard Stefani |
GPCE | 2 |
| 2007 | Efficient static analysis of XML paths and typesabstractWe present an algorithm to solve XPath decision problems under regular tree type constraints and show its use to statically type-check XPath queries. To this end, we prove the decidability of a logic with converse for finite ordered trees whose time complexity is a simple exponential of the size of a formula. The logic corresponds to the alternation free modal μ-calculus without greatest fixpoint, restricted to finite trees, and where formulas are cycle-free. Pierre Genevès, Nabil Layaïda, Alan Schmitt |
PLDI | 3 |
| 2007 | Exploiting schemas in data synchronization
Nate Foster, Michael B. Greenwald, Christian Kirkegaard, Benjamin C. Pierce, Alan Schmitt |
J. Comput. Syst. Sci. | 5 |
| 2007 | Combinators for bidirectional tree transformations: A linguistic approach to the view-update problemabstractWe propose a novel approach to the view-update problem for tree-structured data: a domain-specific programming language in which all expressions denote bidirectional transformations on trees. In one direction, these transformations---dubbed lenses ---map a concrete tree into a simplified abstract view; in the other, they map a modified abstract view, together with the original concrete tree, to a correspondingly modified concrete tree. Our design emphasizes both robustness and ease of use, guaranteeing strong well-behavedness and totality properties for well-typed lenses. We begin by identifying a natural space of well-behaved bidirectional transformations over arbitrary structures, studying definedness and continuity in this setting. We then instantiate this semantic framework in the form of a collection of lens combinators that can be assembled to describe bidirectional transformations on trees. These combinators include familiar constructs from functional programming (composition, mapping, projection, conditionals, recursion) together with some novel primitives for manipulating trees (splitting, pruning, merging, etc.). We illustrate the expressiveness of these combinators by developing a number of bidirectional list-processing transformations as derived forms. An extended example shows how our combinators can be used to define a lens that translates between a native HTML representation of browser bookmarks and a generic abstract bookmark format. Nate Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, Alan Schmitt |
ACM Trans. Program. Lang. Syst. | 5 |
| 2006 | Agreeing to Agree: Conflict Resolution for Optimistically Replicated Data
Michael B. Greenwald, Sanjeev Khanna, Keshav Kunal, Benjamin C. Pierce, Alan Schmitt |
DISC | 5 |
| 2005 | XML Goes Native: Run-Time Representations for Xtatic
Vladimir Gapeyev, Michael Y. Levin, Benjamin C. Pierce, Alan Schmitt |
CC | 4 |
| 2005 | Component-Oriented Programming with Sharing: Containment is Not Ownership
Daniel Hirschkoff, Tom Hirschowitz, Damien Pous, Alan Schmitt, Jean-Bernard Stefani |
GPCE | 4 |
| 2005 | Combinators for bi-directional tree transformations: a linguistic approach to the view update problemabstractWe propose a novel approach to the well-known view update problem for the case of tree-structured data: a domain-specific programming language in which all expressions denote bi-directional transformations on trees. In one direction, these transformations---dubbed lenses---map a "concrete" tree into a simplified "abstract view"; in the other, they map a modified abstract view, together with the original concrete tree, to a correspondingly modified concrete tree. Our design emphasizes both robustness and ease of use, guaranteeing strong well-behavedness and totality properties for well-typed lenses.We identify a natural space of well-behaved bi-directional transformations over arbitrary structures, study definedness and continuity in this setting, and state a precise connection with the classical theory of "update translation under a constant complement" from databases. We then instantiate this semantic framework in the form of a collection of lens combinators that can be assembled to describe transformations on trees. These combinators include familiar constructs from functional programming (composition, mapping, projection, conditionals, recursion) together with some novel primitives for manipulating trees (splitting, pruning, copying, merging, etc.). We illustrate the expressiveness of these combinators by developing a number of bi-directional list-processing transformations as derived forms. Nate Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, Alan Schmitt |
POPL | 5 |
| 2003 | The m-calculus: a higher-order distributed process calculusabstractThis paper presents a new distributed process calculus, called the M-calculus, that can be understood as a higher-order version of the Distributed Join calculus with programmable localities. The calculus retains the implementable character of the Distributed Join calculus while overcoming several important limitations: insufficient control over communication and mobility, absence of dynamic binding, and limited locality semantics. The calculus is equipped with a polymorphic type system that guarantees the unicity of locality names, even in presence of higher-order communications -- a crucial property for the determinacy of message routing in the calculus. Alan Schmitt, Jean-Bernard Stefani |
POPL | 1 |