Colloquium in Honour of Martin Abadi
25 & 26 June 2015, Cachan"); SETHEAD("25 & 26 June 2015, Cachan"); MKPAGE(); echo ""; $all=1; // // Henzinger // if (($all==1) || ($talk == "henzinger")) { echo "
25 June
10:00-11:00
Tom Henzinger Download
Slides
From Checking Program Correctness to Measuring Program Fitness

Formal verification aims to improve the quality of hardware and software by detecting errors before they do harm. At the basis of formal verification lies the logical notion of correctness, which purports to capture whether or not a circuit or program behave as desired. We suggest that the boolean partition into correct and incorrect systems falls short of the practical need to assess the quality of hardware and software in a more nuanced fashion. We propose formal metrics on systems for measuring aspects of function (how close does a program come to satisfying a requirement?), performance, resource consumption, and robustness. The theory supports quantitative versions of abstraction and synthesis.
"; } // // Berry // if (($all==1) || ($talk == "berry")) { echo "
25 June
14:00-15:00
Gérard Berry Download
Slides
Determinism, Electricity, and Intuitionism

Because of their intrinsic massive synchronous concurrency, digital circuits have marvelous computational properties. We study two of them in this talk. The first one is the direct implementation of non-deterministic automata into gates, which makes them deterministic right away, without any size explosion. This trivial but quite unnoticed property makes us believe that non-deterministic is a quite inappropriate term for automata, linked only to the old view of sequential automation execution by a mathematician with a single pencil in the hand. Synchronous concurrency saves an exponential by nature. It makes it also clear that determinizing automata in the classical way is really not a good idea for most uses. We show that this remark applies even more to hierarchical parallel automata a la Statecharts or SyncCharts, which save another exponential in size. The second property is related to the convergent behavior of potentially cyclic electronic circuits for all gate and wire delays, which is exactly equivalent to their solvability in intuitionistic Boolean logic. This theorem was stated by myself in 2000 and first proved by Shiple using a complicated machinery developed by Brzozowski and Seger for asynchronous circuits. A much better proof has been recently given recently by Mendler using a nice logic of continuous time stabilization; it establishes a precise correspondence between continuous-time stabilization proofs that simulate the behavior of electricity and simple intuitionistic proofs that simulate the zero-delay constructive solving of Boolean equations : circuits really act as proof engines for both logics at the same time.
"; } // // Cortier // if (($all==1) || ($talk == "cortier")) { echo "
25 June
15:00-16:00
Véronique Cortier Download
Slides
Analysing privacy protocols

Peronnal data are sensitive and should be protected. One prominent illustration is the case of electronic voting systems,in which vote privacy should be an absolut guarantee. But privacy is also expected in many applications such as biometric passports or communications over mobile phones. Formal methods have been successfully applied for analysis of security protocols with the development of several \"push-button\" tools that may automatically discover flaws. However, most approaches only apply to trace-based properties such as confidentiality of authentication.

In this talk, we review models and techniques to analyse privacy, usually expressed as an equivalence-based property. We will start with the notion of static equivalence introduced by Martin Abadi (together with Cédric Fournet). Even in this relatively simple case, many techniques need to be combined in order to obtain decidability of important fragments of cryptographic primitives. We then move to the challenging case of an active attacker, for which many new results have been proposed recently.

"; } // // Fournet // if (($all==1) || ($talk == "fournet")) { echo "
25 June
16:30-17:30
Cédric Fournet Download
Slides
Versatile Verifiable Computations

Verifiable Computation allow a client to securely outsource computations to a powerful but untrusted server, and then to verify their results based on some proof produced by the server. Recent cryptographic constructions have dramatically reduced the client's cost to verify proofs, but the server's overhead to produce those proofs remains largely impractical.
In my talk, I will present Geppetto: a compiler & runtime system that consumes LLVM code generated from a variety of source C programs and libraries, and produces code and keys for proving and verifying their correct execution.
Geppetto introduces complementary techniques for reducing prover overhead and increasing prover flexibility. It lowers the cost of sharing state between computations or within a single computation. Via a careful choice of cryptographic primitives, it supports bounded proof bootstrapping, improving on prior systems by up to five orders of magnitude, albeit at some cost in universality. Geppetto can also efficiently verify the execution of proprietary (i.e., secret) algorithms.

This is based on joint work with Craig Costello, Antoine Delignat-Lavaud, Jon Howell, Chantal Keller, Markulf Kohlweiss, Benjamin Kreuter, Vincent Laporte, Michael Naehrig, Bryan Parno, Samee Zahur.

"; } // // Blanchet // if (($all==1) || ($talk == "blanchet")) { echo "
26 June
15:00-16:00
Bruno Blanchet Download
Slides
Proving observational equivalence with ProVerif

In the analysis of security protocols, observational equivalence is a fundamental security property, which means that an adversary cannot distinguish between two processes P and Q. The automatic protocol verifier ProVerif (http://proverif.inria.fr) can prove a particular class of observational equivalences, between pairs of processes P, Q that have the same structure but differ only by the terms they contain (Blanchet, Abadi, Fournet, JLAP, 2008). ProVerif represents such pairs of processes as a single process, named a biprocess. With Vincent Cheval (earlier version at POST'13), we designed and implemented an algorithm that automatically converts a pair of processes P, Q into a biprocess, thus allowing ProVerif to prove that P and Q are observationally equivalent.

This talk is based on joint work with Martín Abadi and Cédric Fournet and with Vincent Cheval.

"; } // // Vianu // if (($all==1) || ($talk == "vianu")) { echo "
26 June
10:00-11:00
Victor Vianu Download
Slides
Analysis of Data-Centric Workflows

Software systems centered around databases have become pervasive in a wide variety of applications, including health-care management, e-commerce, business processes, scientific workflows, and e-government. Such applications support complex workflows involving numerous interacting actors, whence the critical need for various analysis tools. Unlike arbitrary software systems, data-driven applications are increasingly specified using high-level logic-based tools, which greatly facilitates the analysis task. This new opportunity has given rise to a flourishing research area at the intersection of databases and computer-aided verification, in both academia and industry.

This talk will present an overview of recent research in this area carried out with collaborators at UC San Diego, ENS-Cachan and INRIA-Saclay.

"; } // // Lamport // if (($all==1) || ($talk == "lamport")) { echo "
26 June
11:00-12:00
Leslie Lamport
What Should Math Have to do with Building Complex Distributed Systems?

Plenty.
"; }