Georges Gonthier

dblp:40/3912 · DBLP profile ↗
← Back
27ranked-venue papers
13as first author
0since 2021 · last 2013
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 14 · 8 first-authorSoftware engineering, systems software and programming languages · 13 · 6 first-authorComputer networks · 1Security and privacy · 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
9 papers
Programming languages and type systems · 55% Program verification · 35% Concurrent programming · 8%
Theoretical computer science
5 papers
Automated reasoning and model checking · 84% Logic in computer science · 16%
Network and information security
4 papers
Cryptographic protocols and secure computation · 63% Authentication and access control · 30% Cryptographic primitives and cryptanalysis · 7%

Topics — the 27 heaviest of 30, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems
type theory
0.322013
Software engineering for mathematics (keynote) · ESEC/SIGSOFT FSE 2013
Engineering mathematics: the odd order theorem proof · POPL 2013
Programming languages and type systems › type theory
dependent types
0.212013
Engineering mathematics: the odd order theorem proof · POPL 2013
Program verification
formal proof
0.212013
Software engineering for mathematics (keynote) · ESEC/SIGSOFT FSE 2013
Program verification
proof assistants
0.212013
Software engineering for mathematics (keynote) · ESEC/SIGSOFT FSE 2013
Automated reasoning and model checking
automated reasoning
0.212013
Engineering mathematics: the odd order theorem proof · POPL 2013
Automated reasoning and model checking › theorem proving
formal proof
0.212013
Engineering mathematics: the odd order theorem proof · POPL 2013
Concurrent programming › concurrency theory › process calculi
join calculus
0.021998
Secure Implementation of Channel Abstractions · LICS 1998
The Reflexive CHAM and the Join-Calculus · POPL 1996
Cryptographic protocols and secure computation
secure channel
0.012002
Secure Implementation of Channel Abstractions · Inf. Comput. 2002
Runtime systems and virtual machines
garbage collection
0.021996
Verifying the Safety of a Practical Concurrent Garbage Collector · CAV 1996
Portable, Unobtrusive Garbage Collection for Multiprocessor Systems · POPL 1994
Authentication and access control › authentication
authentication protocols
0.012000
Authentication Primitives and Their Compilation · POPL 2000
Concurrent programming › concurrency theory
process calculi
0.021999
The Reflexive CHAM and the Join-Calculus · POPL 1996
Secure Communications Processing for Distributed Languages · S&P 1999
Logic in computer science
process algebra
0.011998
A Hierarchy of Equivalences for Asynchronous Calculi · ICALP 1998
Programming languages and type systems
lambda calculus
0.021992
The Geometry of Optimal Lambda Reduction · POPL 1992
Linear Logic Without Boxes · LICS 1992
Programming languages and type systems › lambda calculus
optimal reduction
0.021992
The Geometry of Optimal Lambda Reduction · POPL 1992
Linear Logic Without Boxes · LICS 1992
Concurrent programming
concurrency models
0.011996
The Reflexive CHAM and the Join-Calculus · POPL 1996
Memory systems
memory management
0.011994
Portable, Unobtrusive Garbage Collection for Multiprocessor Systems · POPL 1994
Logic in computer science › proof theory › substructural logic › linear logic
proof nets
0.021992
Linear Logic Without Boxes · LICS 1992
The Geometry of Optimal Lambda Reduction · POPL 1992
Programming languages and type systems
language semantics
0.011992
The Geometry of Optimal Lambda Reduction · POPL 1992
Programming languages and type systems › language semantics › formal semantics
operational semantics
0.011992
The Geometry of Optimal Lambda Reduction · POPL 1992
Logic in computer science
lambda calculus
0.011992
An abstract standardisation theorem · LICS 1992
Logic in computer science › proof theory › substructural logic
linear logic
0.011992
Linear Logic Without Boxes · LICS 1992
Logic in computer science › rewriting
rewriting theory
0.011992
An abstract standardisation theorem · LICS 1992
Distributed systems
distributed system security
0.012000
Authentication Primitives and Their Compilation · POPL 2000
Distributed systems
remote procedure call
0.011999
Secure Communications Processing for Distributed Languages · S&P 1999
Cryptographic primitives and cryptanalysis
encryption
0.011998
Secure Implementation of Channel Abstractions · LICS 1998
Parallel and multicore computing
multiprocessor system
0.011994
Portable, Unobtrusive Garbage Collection for Multiprocessor Systems · POPL 1994
Logic in computer science
proof theory
0.011992
The Geometry of Optimal Lambda Reduction · POPL 1992

Methods — techniques the papers use, named apart from their topics

type theory · 0.5software engineering · 0.3language design · 0.3formalization · 0.2process calculus · 0.1observational equivalence · 0.1multiplexing · 0.1marshaling · 0.1full abstraction · 0.1translation · 0.0pi-calculus · 0.0correctness theorem · 0.0safety verification · 0.0bisimulation · 0.0on-the-fly garbage collection · 0.0stability · 0.0proof nets without boxes · 0.0graph rewriting · 0.0
YearPublicationVenuePosition
2013 A Machine-Checked Proof of the Odd Order Theorem
Georges Gonthier, Andrea Asperti, Jeremy Avigad, Yves Bertot, Cyril Cohen, François Garillot, Stéphane Le Roux 0001, Assia Mahboubi, Russell O'Connor, Sidi Ould Biha, Ioana Pasca, Laurence Rideau, Alexey Solovyev, Enrico Tassi, Laurent Théry
ITP1
2013 Engineering mathematics: the odd order theorem proof
abstract
Even with the assistance of computer tools, the formalized de-scription and verification of research-level mathematics remains a daunting task, not least because of the talent with which mathema-ticians combine diverse theories to achieve their ends. By combin-ing tools and techniques from type theory, language design, and software engineering we have managed to capture enough of these practices to formalize the proof of the Odd Order theorem, a landmark result in Group Theory.
Georges Gonthier
POPL1
2013 A publication culture in software engineering (panel)
abstract
This panel will discuss what characterizes the publication process in the software engineering community and debate how it serves the needs of the community, whether it is fair - e.g. valuable work gets published and mediocre work rejected - and highlight the obstacles for young scientists. The panel will conclude with a discussion on suggested next steps.
Steven Fraser 0001, Luciano Baresi, Jane Cleland-Huang, Carlo A. Furia, Georges Gonthier, Paola Inverardi, Moshe Y. Vardi
ESEC/SIGSOFT FSE5
2013 Software engineering for mathematics (keynote)
abstract
Since Turing, we have wanted to use computers to store, process, and check mathematics. However even with the assistance of modern software tools, the formalization of research-level mathematics remains a daunting task, not least because of the talent with which working mathematicians combine diverse theories to achieve their ends. By drawing on tools and techniques from type theory, language design, and software engineering we captured enough of these practices to formalize the proof of the Odd Order theorem, a landmark result in Group Theory, which ultimately lead to the monumental Classification of finite simple groups. This involved recasting the software component concept in the setting of higher-order, higher-kinded Type Theory to create a library of mathematical components covering most of the undergraduate Algebra and graduate Group Theory syllabus. This library then allowed us to write a formal proof comparable in size and abstraction level to the 250-page textbook proof of the Odd Order theorem.
Georges Gonthier
ESEC/SIGSOFT FSE1
2013 How to make ad hoc proof automation less ad hoc
abstract
Abstract Most interactive theorem provers provide support for some form of user-customizable proof automation. In a number of popular systems, such as Coq and Isabelle, this automation is achieved primarily through tactics , which are programmed in a separate language from that of the prover's base logic. While tactics are clearly useful in practice, they can be difficult to maintain and compose because, unlike lemmas, their behavior cannot be specified within the expressive type system of the prover itself. We propose a novel approach to proof automation in Coq that allows the user to specify the behavior of custom automated routines in terms of Coq's own type system. Our approach involves a sophisticated application of Coq's canonical structures , which generalize Haskell type classes and facilitate a flexible style of dependently-typed logic programming. Specifically, just as Haskell type classes are used to infer the canonical implementation of an overloaded term at a given type, canonical structures can be used to infer the canonical proof of an overloaded lemma for a given instantiation of its parameters. We present a series of design patterns for canonical structure programming that enable one to carefully and predictably coax Coq's type inference engine into triggering the execution of user-supplied algorithms during unification, and we illustrate these patterns through several realistic examples drawn from Hoare Type Theory. We assume no prior knowledge of Coq and describe the relevant aspects of Coq type inference from first principles.
Georges Gonthier, Beta Ziliani, Aleksandar Nanevski, Derek Dreyer
J. Funct. Program.1
2012 A Language of Patterns for Subterm Selection
Georges Gonthier, Enrico Tassi
ITP1
2011 How to make ad hoc proof automation less ad hoc
abstract
Most interactive theorem provers provide support for some form of user-customizable proof automation. In a number of popular systems, such as Coq and Isabelle, this automation is achieved primarily through tactics, which are programmed in a separate language from that of the prover's base logic. While tactics are clearly useful in practice, they can be difficult to maintain and compose because, unlike lemmas, their behavior cannot be specified within the expressive type system of the prover itself.
Georges Gonthier, Beta Ziliani, Aleksandar Nanevski, Derek Dreyer
ICFP1
2011 Advances in the Formalization of the Odd Order Theorem
Georges Gonthier
ITP1
2011 Point-Free, Set-Free Concrete Linear Algebra
Georges Gonthier
ITP1
2005 Using Stålmarck's Algorithm to Prove Inequalities
Byron Cook, Georges Gonthier
ICFEM2
2004 Choice in Dynamic Linking
Martín Abadi, Georges Gonthier, Benjamin Werner
FoSSaCS2
2002 Secure Implementation of Channel Abstractions
Martín Abadi, Cédric Fournet, Georges Gonthier
Inf. Comput.3
2000 Authentication Primitives and Their Compilation
abstract
Adopting a programming-language perspective, we study the problem of implementing authentication in a distributed system. We define a process calculus with constructs for authentication and show how this calculus can be translated to a lower-level language using marshaling, multiplexing, and cryptographic protocols. Authentication serves for identitybased security in the source language and enables simplifications in the translation. We reason about correctness relying on the concepts of observational equivalence and full abstraction.
Martín Abadi, Cédric Fournet, Georges Gonthier
POPL3
1999 A Top-Down Look at a Secure Message
Martín Abadi, Cédric Fournet, Georges Gonthier
FSTTCS3
1999 Secure Communications Processing for Distributed Languages
abstract
Communications processing is an important part of distributed language systems with facilities such as RPC (remote procedure call) and RMI (remote method invocation). For security, messages may require cryptographic operations in addition to ordinary marshaling. We investigate a method for wrapping communications processing around an entity with secure local communication, such as a single machine or a protected network. The wrapping extends security properties of local communication to distributed communication. We formulate and analyze the method within a process calculus.
Martín Abadi, Cédric Fournet, Georges Gonthier
S&P3
1998 A Hierarchy of Equivalences for Asynchronous Calculi
Cédric Fournet, Georges Gonthier
ICALP2
1998 Secure Implementation of Channel Abstractions
abstract
Communication in distributed systems often relies on useful abstractions such as channels, remote procedure calls, and remote method invocations. The implementations of these abstractions sometimes provide security properties, in particular through encryption. In this paper we study those security properties, focusing on channel abstractions. We introduce a simple high-level language that includes constructs for creating and using secure channels. The language is a variant of the join-calculus and belongs to the same family as the pi-calculus. We show how to translate the high-level language into a lower-level language that includes cryptographic primitives. In this translation, we map communication on secure channels to encrypted communication on public channels. We obtain a correctness theorem for our translation; this theorem implies that one can reason about programs in the high-level language without mentioning the subtle cryptographic protocols used in their lower-level implementation.
Martín Abadi, Cédric Fournet, Georges Gonthier
LICS3
1996 Verifying the Safety of a Practical Concurrent Garbage Collector
Georges Gonthier
CAV1
1996 A Calculus of Mobile Agents
Cédric Fournet, Georges Gonthier, Jean-Jacques Lévy, Luc Maranget, Didier Rémy
CONCUR2
1996 The Reflexive CHAM and the Join-Calculus
abstract
By adding reflexion to the chemical machine of Berry and Boudol, we obtain a formal model of concurrency that is consistent with mobility and distribution. Our model provides the foundations of a programming language with functional and object-oriented features. It can also be seen as a process calculus, the join-calculus, which we prove equivalent to the π-calculus of Milner, Parrow and Walker.
Cédric Fournet, Georges Gonthier
POPL2
1994 Portable, Unobtrusive Garbage Collection for Multiprocessor Systems
abstract
We describe and prove the correctness of a new concurrent mark-and-sweep garbage collection algorithm. This algorithm derives from the classical on-the-fly algorithm from Dijkstra et al. [9]. A distinguishing feature of our algorithm is that it supports multiprocessor environments where the registers of running processes are not readily accessible, without imposing any overhead on the elementary operations of loading a register or reading or initializing a field. Furthermore our collector never blocks running mutator processes except possibly on requests for free memory; in particular, updating a field or creating or marking or sweeping a heap object does not involve system-dependent synchronization primitives such as locks. We also provide support for process creation and deletion, and for managing an extensible heap of variable-sized objects.
Damien Doligez, Georges Gonthier
POPL2
1992 Linear Logic Without Boxes
abstract
J.-Y. Girard's original definition of proof nets for linear logic involves boxes. The box is the unit for erasing and duplicating fragments of proof nets. It imposes synchronization, limits sharing, and impedes a completely local view of computation. The authors describe an implementation of proof nets without boxes. Proof nets are translated into graphs of the sort used in optimal lambda -calculus implementations; computation is performed by simple graph rewriting. This graph implementation helps in understanding optimal reductions in the lambda -calculus and in the various programming languages inspired by linear logic.>
Georges Gonthier, Martín Abadi, Jean-Jacques Lévy
LICS1
1992 An abstract standardisation theorem
abstract
An axiomatic version of the standardization theorem that shows the necessary basic properties between nesting of redexes and residuals is presented. This axiomatic approach provides a better understanding of standardization, and makes it applicable in other settings, such as directed acyclic graphs (dags) or interaction networks. conflicts between redexes are also treated. The axioms include stability in the sense given by G. Berry (Ph.D. thesis, Univ. of Paris, 1979), proving it to be an intrinsic notion of deterministic calculi.>
Georges Gonthier, Jean-Jacques Lévy, Paul-André Melliès
LICS1
1992 The Geometry of Optimal Lambda Reduction
abstract
Lamping discovered an optimal graph-reduction implementation of the λ-calculus. Simultaneously, Girard invented the geometry of interaction, a mathematical foundation for operational semantics. In this paper, we connect and explain the geometry of interaction and Lamping's graphs. The geometry of interaction provides a suitable semantic basis for explaining and improving Lamping's system. On the other hand, graphs similar to Lamping's provide a concrete representation of the geometry of interaction. Together, they offer a new understanding of computation, as well as ideas for efficient and correct implementations.
Georges Gonthier, Martín Abadi, Jean-Jacques Lévy
POPL1
1992 The Esterel Synchronous Programming Language: Design, Semantics, Implementation
Gérard Berry, Georges Gonthier
Sci. Comput. Program.2
1991 Incremental Development of an HDLC Entity in Esterel
Gérard Berry, Georges Gonthier
Comput. Networks ISDN Syst.2
1985 Algebraic Calculi of Processes and Net Expressions
Georges Gonthier
Theor. Comput. Sci.1