EDBT 2026 Demo / reviewers in the wild / expert
Jérôme Vouillon
dblp:v/JeromeVouillon · also Jerome Vouillon
· DBLP profile ↗
19ranked-venue papers
8as first author
0since 2021 · last 2016
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 17 · 7 first-authorArtificial intelligence and machine learning · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 1Theory of computation · 1Applied, interdisciplinary, general and emerging computing · 1
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
10 papers |
Programming languages and type systems · 56% Software maintenance and evolution · 44% | |
| Theoretical computer science
5 papers |
Logic in computer science · 60% Automata and formal languages · 25% Graph algorithms and graph theory · 16% |
Topics — the 19 heaviest of 20, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software maintenance and evolution › software ecosystems
dependency management |
0.2 | 2 | 2011 | On software component co-installability · SIGSOFT FSE 2011 Managing the Complexity of Large Free and Open Source Package-Based Software Distributions · ASE 2006 |
Software maintenance and evolution
software dependencies |
0.2 | 1 | 2013 | On software component co-installability · ACM Trans. Softw. Eng. Methodol. 2013 |
Programming languages and type systems
type systems |
0.1 | 3 | 2006 | Polymorphic regular tree types and patterns · POPL 2006 Regular expression types for XML · ACM Trans. Program. Lang. Syst. 2005 Objective ML: A Simple Object-Oriented Extension of ML · POPL 1997 |
Programming languages and type systems
type theory |
0.1 | 2 | 2007 | A very modal model of a modern, major, general type system · POPL 2007 Semantic types: a fresh look at the ideal model for types · POPL 2004 |
Automata and formal languages
tree automata |
0.1 | 2 | 2006 | Polymorphic regular tree types and patterns · POPL 2006 Regular expression types for XML · ACM Trans. Program. Lang. Syst. 2005 |
Programming languages and type systems › type systems
modal type systems |
0.1 | 1 | 2007 | A very modal model of a modern, major, general type system · POPL 2007 |
Logic in computer science
modal logic |
0.1 | 1 | 2007 | A very modal model of a modern, major, general type system · POPL 2007 |
Logic in computer science
semantics |
0.1 | 1 | 2007 | A very modal model of a modern, major, general type system · POPL 2007 |
Programming languages and type systems › control structures
pattern matching |
0.1 | 1 | 2006 | Polymorphic regular tree types and patterns · POPL 2006 |
Software maintenance and evolution
software ecosystems |
0.1 | 1 | 2006 | Managing the Complexity of Large Free and Open Source Package-Based Software Distributions · ASE 2006 |
Programming languages and type systems
parametricity |
0.1 | 1 | 2005 | Recursive Polymorphic Types and Parametricity in an Operational Framework · LICS 2005 |
Programming languages and type systems › type theory
realizability model |
0.1 | 1 | 2005 | Recursive Polymorphic Types and Parametricity in an Operational Framework · LICS 2005 |
Programming languages and type systems › type systems › recursive types
recursive polymorphic types |
0.1 | 1 | 2005 | Recursive Polymorphic Types and Parametricity in an Operational Framework · LICS 2005 |
Programming languages and type systems › type systems
subtyping |
0.1 | 1 | 2005 | Regular expression types for XML · ACM Trans. Program. Lang. Syst. 2005 |
Programming languages and type systems › type systems
XML type systems |
0.1 | 1 | 2005 | Regular expression types for XML · ACM Trans. Program. Lang. Syst. 2005 |
Graph algorithms and graph theory
graph algorithms |
0.0 | 1 | 2013 | On software component co-installability · ACM Trans. Softw. Eng. Methodol. 2013 |
Logic in computer science › semantics
denotational semantics |
0.0 | 1 | 2004 | Semantic types: a fresh look at the ideal model for types · POPL 2004 |
Programming languages and type systems › object-oriented programming
object calculi |
0.0 | 1 | 2001 | Combining subsumption and binary methods: an object calculus with views · POPL 2001 |
Programming languages and type systems › object-oriented programming
multiple inheritance |
0.0 | 1 | 1997 | Objective ML: A Simple Object-Oriented Extension of ML · POPL 1997 |
Methods — techniques the papers use, named apart from their topics
graph-theoretic transformation · 0.5coq proof assistant · 0.5boolean satisfiability · 0.1subtyping · 0.1set-inclusion constraint solver · 0.1graph algorithms · 0.1constraint solving · 0.1type-directed approximation · 0.1top-down traversal · 0.1call-by-name lambda calculus · 0.1biorthogonality · 0.1orthogonality · 0.0fixpoint · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2016 | Eliom: A Core ML Language for Tierless Web Programming
Gabriel Radanne, Jérôme Vouillon, Vincent Balat |
APLAS | 2 |
| 2015 | A Historical Analysis of Debian Package IncompatibilitiesabstractUsers and developers of software distributions are often confronted with installation problems due to conflicting packages. A prototypical example of this are the Linux distributions such as Debian. Conflicts between packages have been studied under different points of view in the literature, in particular for the Debian operating system, but little is known about how these package conflicts evolve over time. This article presents an extensive analysis of the evolution of package incompatibilities, spanning a decade of the life of the Debian stable and testing distributions for its most popular architecture, i386. Using the technique of survival analysis, this empirical study sheds some light on the origin and evolution of package incompatibilities, and provides the basis for building indicators that may be used to improve the quality of package-based distributions. Maëlick Claes, Tom Mens, Roberto Di Cosmo, Jérôme Vouillon |
MSR | 4 |
| 2014 | Easing software component repository evolutionabstractModern software systems are built by composing components drawn from large repositories, whose size and complexity increase at a fast pace. Maintaining and evolving these software collections is a complex task, and a strict qualification process needs to be enforced. We studied in depth the Debian software repository, one of the largest and most complex existing ones, and we developed comigrate, an extremely efficient tool that is able to identify the largest sets of components that can migrate to the reference repository without violating its quality constraints. This tool outperforms significantly all existing tools, and provides detailed information that is crucial to understand the reasons why some components cannot migrate. Extensive validation on the Debian distribution has been performed. The core architecture of the tool is quite general, and can be easily adapted to other software repositories. Jérôme Vouillon, Mehdi Dogguy, Roberto Di Cosmo |
ICSE | 1 |
| 2014 | From bytecode to JavaScript: the Js_of_ocaml compilerabstractSUMMARY We present the design and implementation of a compiler from OCaml bytecode to JavaScript. The compiler first translates the bytecode into a static single‐assignment intermediate representation on which optimizations are performed, before generating JavaScript. We believe that taking bytecode as an input instead of a high‐level language is a sensible choice. Virtual machines provide a very stable API. Such a compiler is thus easy to maintain. It is also convenient to use, and it can just be added to an existing installation of the development tools. Already‐compiled libraries can be used directly, with no need to reinstall anything. Finally, some virtual machines are the target of several languages. A bytecode to JavaScript compiler would make it possible to retarget all these languages to Web browsers at once. Copyright © 2013 John Wiley & Sons, Ltd. Jérôme Vouillon, Vincent Balat |
Softw. Pract. Exp. | 1 |
| 2013 | Broken sets in software repository evolutionabstractModern software systems are built by composing components drawn from large repositories, whose size and complexity increase at a fast pace. Software systems built with components from a release of a repository should be seamlessly upgradeable using components from the next release. Unfortunately, users are often confronted with sets of components that were installed together, but cannot be upgraded together to the latest version from the new repository. Identifying these broken sets can be of great help for a quality assurance team, that could examine and fix these issues well before they reach the end user. Building on previous work on component co-installability, we show that it is possible to find these broken sets for any two releases of a component repository, computing extremely efficiently a concise representation of these upgrade issues, together with informative graphical explanations. A tool implementing the algorithm presented in this paper is available as free software, and is able to process the evolution between two major releases of the Debian GNU/Linux distribution in just a few seconds. These results make it possible to integrate seamlessly this analysis in a repository development process. Jérôme Vouillon, Roberto Di Cosmo |
ICSE | 1 |
| 2013 | On software component co-installabilityabstractModern software systems are built by composing components drawn from large repositories , whose size and complexity is increasing at a very fast pace. A fundamental challenge for the maintainability and the scalability of such software systems is the ability to quickly identify the components that can or cannot be installed together: this is the co-installability problem, which is related to boolean satisfiability and is known to be algorithmically hard. This article develops a novel theoretical framework, based on formally certified semantic preserving graph-theoretic transformations, that allows us to associate to each concrete component repository a much smaller one with a simpler structure, that we call strongly flat , with equivalent co-installability properties. This flat repository can be displayed in a way that provides a concise view of the co-installability issues in the original repository, or used as a basis for various algorithms related to co-installability, like the efficient computation of strong conflicts between components. The proofs contained in this work have been machine checked using the Coq proof assistant. Jérôme Vouillon, Roberto Di Cosmo |
ACM Trans. Softw. Eng. Methodol. | 1 |
| 2012 | A Solution to the PoplMark Challenge Based on de Bruijn Indices
Jérôme Vouillon |
J. Autom. Reason. | 1 |
| 2011 | On software component co-installabilityabstractModern software systems are built by composing components drawn from large repositories, whose size and complexity is increasing at a very fast pace. A fundamental challenge for the maintainability and the scalability of such software systems is the ability to quickly identify the components that can or cannot be installed together: this is the co-installability problem, which is related to boolean satisfiability and is known to be algorithmically hard. This paper develops a novel theoretical framework, based on formally certified. semantic preserving graph-theoretic transformations, that allows to associate to each concrete component repository a much smaller one with a simpler structure, but with equivalent co-installability properties. This smaller repository can be represented graphically, giving a concise view of the co-installability issues in the original repository, or used as a basis for various algorithms related to co-installability, like the efficient computation of strong conflicts between components. The proofs contained in this work have been machine checked in Coq. Roberto Di Cosmo, Jérôme Vouillon |
SIGSOFT FSE | 2 |
| 2009 | Experience report: ocsigen, a web programming frameworkabstractThe evolution of Web sites towards very dynamic applications makes it necessary to reconsider current Web programming technologies. We believe that Web development would benefit greatly from more abstract paradigms and that a more semantical approach would result in huge gains in expressiveness. In particular, functional programming provides a really elegant solution to some important Web interaction problems, but few frameworks take advantage of it. Vincent Balat, Jérôme Vouillon, Boris Yakobowski |
ICFP | 2 |
| 2008 | Improving the Quality of GNU/Linux DistributionsabstractThe widespread adoption of Free and Open Source Software (FOSS) has lead to a freer and more agile marketplace where there is a higher number of components that can be used to build systems in many original and often unforeseen ways. One of the most prominent examples of complex systems built with FOSS components are GNU/Linux-based distributions. In this paper we present some tools that aim at helping distribution editors with maintaining the huge package bases associated with these distributions, and improving their quality, by detecting errors and inconsistencies in an effective, fast and automatic way. Jaap Boender, Roberto Di Cosmo, Jérôme Vouillon, Berke Durak, Fabio Mancinelli |
COMPSAC | 3 |
| 2007 | A very modal model of a modern, major, general type systemabstractInternational audience Andrew W. Appel, Paul-André Melliès, Christopher D. Richards, Jérôme Vouillon |
POPL | 4 |
| 2006 | Managing the Complexity of Large Free and Open Source Package-Based Software DistributionsabstractThe widespread adoption of free and open source software (FOSS) in many strategic contexts of the information technology society has drawn the attention on the issues regarding how to handle the complexity of assembling and managing a huge number of (packaged) components in a consistent and effective way. FOSS distributions (and in particular GNU/Linux-based ones) have always provided tools for managing the tasks of installing, removing and upgrading the (packaged) components they were made of While these tools provide a (not always effective) way to handle these tasks on the client side, there is still a lack of tools that could help the distribution editors to maintain, on the server side, large and high-quality distributions. In this paper we present our research whose main goal is to fill this gap: we show our approach, the tools we have developed and their application with experimental results. Our contribution provides an effective and automatic way to support distribution editors in handling those issues that were, until now, mostly addressed using ad-hoc tools and manual techniques Fabio Mancinelli, Jaap Boender, Roberto Di Cosmo, Jérôme Vouillon, Berke Durak, Xavier Leroy, Ralf Treinen |
ASE | 4 |
| 2006 | Polymorphic regular tree types and patternsabstractWe propose a type system based on regular tree grammars, where algebraic datatypes are interpreted in a structural way. Thus, the same constructors can be reused for different types and a flexible subtyping relation can be defined between types, corresponding to the inclusion of their semantics. For instance, one can define a type for lists and a subtype of this type corresponding to lists of even length. Patterns are simply types annotated with binders. This provides a generalization of algebraic patterns with the ability of matching arbitrarily deep in a value. Our main contribution, compared to languages such as XDuce and CDuce, is that we are able to deal with both polymorphism and function types. Jérôme Vouillon |
POPL | 1 |
| 2005 | Recursive Polymorphic Types and Parametricity in an Operational FrameworkabstractWe construct a realizability model of recursive polymorphic types, starting from an untyped language of terms and contexts. An orthogonality relation e/spl perp//spl pi/ indicates when a term e and a context /spl pi/ may be safely combined in the language. Types are interpreted as sets of terms closed by biorthogonality. Our main result states that recursive types are approximated by converging sequences of interval types. Our proof is based on a "type-directed" approximation technique, which departs from the "language-directed" approximation technique developed by MacQueen, Plotkin and Sethi in the ideal model. We thus keep the language elementary (a call-by-name /spl lambda/-calculus) and unstratified (no typecase, no reduction labels). We also include a short account of parametricity, based on an orthogonality relation between quadruples of terms and contexts. Paul-André Melliès, Jérôme Vouillon |
LICS | 2 |
| 2005 | Regular expression types for XMLabstractWe propose regular expression types as a foundation for statically typed XML processing languages. Regular expression types, like most schema languages for XML, introduce regular expression notations such as repetition (*), alternation (|), etc., to describe XML documents. The novelty of our type system is a semantic presentation of subtyping, as inclusion between the sets of documents denoted by two types. We give several examples illustrating the usefulness of this form of subtyping in XML processing.The decision problem for the subtype relation reduces to the inclusion problem between tree automata, which is known to be EXPTIME-complete. To avoid this high complexity in typical cases, we develop a practical algorithm that, unlike classical algorithms based on determinization of tree automata, checks the inclusion relation by a top-down traversal of the original type expressions. The main advantage of this algorithm is that it can exploit the property that type expressions being compared often share portions of their representations. Our algorithm is a variant of Aiken and Murphy's set-inclusion constraint solver, to which are added several new implementation techniques, correctness proofs, and preliminary performance measurements on some small programs in the domain of typed XML processing. Haruo Hosoya, Jérôme Vouillon, Benjamin C. Pierce |
ACM Trans. Program. Lang. Syst. | 2 |
| 2004 | Semantic types: a fresh look at the ideal model for typesabstractWe present a generalization of the ideal model for recursive polymorphic types. Types are defined as sets of terms instead of sets of elements of a semantic domain. Our proof of the existence of types (computed by fixpoint of a typing operator) does not rely on metric properties, but on the fact that the identity is the limit of a sequence of projection terms. This establishes a connection with the work of Pitts on relational properties of domains. This also suggests that ideals are better understood as closed sets of terms defined by orthogonality with respect to a set of contexts. Jérôme Vouillon, Paul-André Melliès |
POPL | 1 |
| 2001 | Combining subsumption and binary methods: an object calculus with viewsabstractWe presen t an object-oriented calculus whic hallows arbitrary hiding of methods in protot ypes, even in the presence of binary methods and friend functions. This combination of features permits complete control of the in terface a class exposes to the remainder of a program (which is of key importance for program readability, security and ease of maintenance), while still allowing complex in teractions with other classes belonging to the same module or softw are component.This result is made possible by the use of views. A view is a name that specifies an in terface to an object. A set of views is attached to each object and a method can be invoked either directly or via a view of the object. Jérôme Vouillon |
POPL | 1 |
| 2000 | Regular expression types for XMLabstractWe propose regular expression types as a foundation for XML processing languages. Regular expression types are a natural generalization of Document Type Definitions (DTDs), describing structures in XML documents using regular expression operators (i.e., *, ?, |, etc.) and supporting a simple but powerful notion of subtyping.The decision problem for the subtype relation is EXPTIME-hard, but it can be checked quite efficiently in many cases of practical interest. The subtyping algorithm developed here is a variant of Aiken and Murphy's set-inclusion constraint solver, to which are added several optimizations and two new properties: (1) our algorithm is provably complete, and (2) it allows a useful "subtagging" relation between nodes with different labels in XML trees. Haruo Hosoya, Jérôme Vouillon, Benjamin C. Pierce |
ICFP | 2 |
| 1997 | Objective ML: A Simple Object-Oriented Extension of MLabstractObjective ML is a small practical extension of ML with objects and toplevel classes. It is fully compatible with ML; its type system is based on ML polymorphism, record types with polymorphic access, and a better treatment of type abbreviations. Objective ML allows for most features of object-oriented languages including multiple inheritance, methods returning self and binary methods as well as parametric classes. This demonstrates that objects can be added to strongly typed languages based on ML polymorphism. Didier Rémy, Jérôme Vouillon |
POPL | 2 |