Yann Régis-Gianas
French Institute for Research in Computer Science and Automation
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Yann Régis-Gianas.
symposium on principles of programming languages | 2006
François Pottier; Yann Régis-Gianas
Stratified type inference for generalized algebraic data types.
interactive theorem proving | 2013
Guillaume Claret; Lourdes del Carmen González Huesca; Yann Régis-Gianas; Beta Ziliani
Proof-by-reflection is a well-established technique that employs decision procedures to reduce the size of proof-terms. Currently, decision procedures can be written either in Type Theory--in a purely functional way that also ensures termination-- or in an effectful programming language, where they are used as oracles for the certified checker. The first option offers strong correctness guarantees, while the second one permits more efficient implementations. We propose a novel technique for proof-by-reflection that marries, in Type Theory, an effectful language with (partial) proofs of correctness. The key to our approach is to use simulable monads, where a monad is simulable if, for all terminating reduction sequences in its equivalent effectful computational model, there exists a witness from which the same reduction may be simulated a posteriori by the monad. We encode several examples using simulable monads and demonstrate the advantages of the technique over previous approaches.
Electronic Notes in Theoretical Computer Science | 2006
François Pottier; Yann Régis-Gianas
The LR parser generators that are bundled with many functional programming language implementations produce code that is untyped, needlessly inefficient, or both. We show that, using generalized algebraic data types, it is possible to produce parsers that are well-typed (so they cannot unexpectedly crash or fail) and nevertheless efficient. This is a pleasing result as well as an illustration of the new expressiveness offered by generalized algebraic data types.
foundational and practical aspects of resource analysis | 2013
Roberto M. Amadio; Nicolas Ayache; Francois Bobot; Jaap P. Boender; Brian Campbell; Ilias Garnier; Antoine Madet; James McKinna; Dominic P. Mulligan; Mauro Piccolo; Randy Pollack; Yann Régis-Gianas; Claudio Sacerdoti Coen; Ian Stark; Paolo Tranquilli
We provide an overview of the FET-Open Project CerCo (‘Certified Complexity’). Our main achievement is the development of a technique for analysing non-functional properties of programs (time, space) at the source level with little or no loss of accuracy and a small trusted code base. The core component is a C compiler, verified in Matita, that produces an instrumented copy of the source code in addition to generating object code. This instrumentation exposes, and tracks precisely, the actual (non-asymptotic) computational cost of the input program at the source level. Untrusted invariant generators and trusted theorem provers may then be used to compute and certify the parametric execution time of the code.
formal methods for industrial critical systems | 2012
Nicholas Ayache; Roberto M. Amadio; Yann Régis-Gianas
We present a so-called labelling method to enrich a compiler in order to turn it into a “cost annotating compiler”, that is, a compiler which can lift pieces of information on the execution cost of the object code as cost annotations on the source code. These cost annotations characterize the execution costs of code fragments of constant complexity. The first contribution of this paper is a proof methodology that extends standard simulation proofs of compiler correctness to ensure that the cost annotations on the source code are sound and precise with respect to an execution cost model of the object code.
foundational and practical aspects of resource analysis | 2011
Roberto M. Amadio; Yann Régis-Gianas
We present a so-called labelling method to insert cost annotations in a higher-order functional program, to certify their correctness with respect to a standard compilation chain to assembly code, and to reason on them in a higher-order Hoare logic.
arXiv: Logic in Computer Science | 2013
Bruno Barras; Lourdes del Carmen González Huesca; Hugo Herbelin; Yann Régis-Gianas; Enrico Tassi; Makarius Wenzel; Burkhart Wolff
Interactive theorem proving is a technology of fundamental importance for mathematics and computer-science. It is based on expressive logical foundations and implemented in a highly trustable way. Applications include huge mathematical proofs and semi-automated verifications of complex software systems. Interactive development of larger and larger proofs increases the demand for computing power, which means explicit parallelism on current multicore hardware [6].
formal methods | 2015
Guillaume Claret; Yann Régis-Gianas
arXiv: Programming Languages | 2010
Roberto M. Amadio; Nicholas Ayache; Yann Régis-Gianas; Ronan Saillard
Archive | 2016
Thibaut Girka; David Mentre; Yann Régis-Gianas