• Publications
  • Influence
The Esterel Synchronous Programming Language: Design, Semantics, Implementation
This paper presents the imperative primitives of E esterel and the temporal manipulations they permit, and shows how the E Esterel v2 and V3 compilers efficiently translate concurrent E esteretl programs into efficient equivalent sequential automata that can be implemented in conventional sequential languages. Expand
The reflexive CHAM and the join-calculus
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 aExpand
A Small Scale Reflection Extension for the Coq system
This document describes a set of extensions to the proof scripting language of the Coq proof assistant, improving the functionality of Coq in basic areas such as script layout and structuring, proof context management, and rewriting. Expand
The Join Calculus: A Language for Distributed Mobile Programming
It is argued that equivalences for the join calculus can be rationally organized into a five-tiered hierarchy, with some trade-off between expressiveness and proof techniques. Expand
Formal Verification of Smart Contracts: Short Paper
This paper outlines a framework to analyze and verify both the runtime safety and the functional correctness of Ethereum contracts by translation to F*, a functional programming language aimed at program verification. Expand
Portable, unobtrusive garbage collection for multiprocessor systems
A new concurrent mark-and-sweep garbage collection algorithm that 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. Expand
Formal Proof—The Four- Color Theorem
For some thirty years, computer science has been working out a solution to this problem: formal program proofs, to write code that describes not only what the machine should do, but also why it should be doing it—a formal proof of correctness. Expand
The geometry of optimal lambda reduction
This paper connects and explains the geometry of interaction and Lamping's graphs, which offer a new understanding of computation, as well as ideas for efficient and correct implementations. Expand
A Calculus of Mobile Agents
This work introduces a calculus for mobile agents and gives its chemical semantics, with a precise definition for migration, failure, and failure detection, and gives the encoding of the distributed calculus into the join-calculus. Expand
An introduction to small scale reflection in Coq
This tutorial proposes a guided tour in some of the basic libraries distributed in the SSReflect package, which focuses on the application of the small scale reflection methodology to the formalization of finite objects in intuitionistic type theory. Expand