2526 articles  [english version]
Fiche détaillée Thèses
Université Pierre et Marie Curie - Paris VI (15/09/2003), Hardin Thérèse (Dir.)
Liste des fichiers attachés à ce document : 
PS
tel-00007143.ps(1.6 MB)
PDF
tel-00007143.pdf(1.6 MB)
Conception et implantation du langage FoC pour le développement de logiciels certifiés
Virgile Prevosto1

Cette thèse porte sur la construction d'un environnement pour développer des librairies de calcul formel certifié. Nous présentons d'abord les espèces, structures servant à décrire des spécifications par héritage multiple, raffinement et paramétrisation. Les collections, construites par encapsulation d'espèces constituent la librairie utilisateur. Nous définissons également les analyses statiques garantissant la correction d'une définition d'espèce. Ensuite, nous étudions la compilation des espèces et collections vers le langage d'exécution OCAML, en utilisant les objets et modules OCAML. Puis nous détaillons la traduction dans le langage de preuves COQ, la liaison retardée étant traduite par des lambda-abstractions. Nous montrons ensuite comment utiliser cette technique pour optimiser les exécutables OCAML. Enfin, nous prouvons que les analyses faites par le compilateur ainsi que les techniques de traduction sont conforme à la formalisation des espèces faites auparavant en COQ.
1 :  LIP6 - Laboratoire d'Informatique de Paris 6
langages de programmation – programmation fonctionnelle – programmation orientée-objet – vérification de logiciel – théorie des types
http://www.mpi-sb.mpg.de/~prevosto/papiers/these.ps.gz

Design and implementation of the FoC language for developping certified software
This thesis describes the construction of an environment to develop certified computer algebra libraries. First, we present species, the structures used to describe specifications, by multiple inheritance, refinement and parameterization. Collections are built by encapsulation of species and form the user library. We also define the static analyses that guarantee the correction of a species definition. Then, we study the compilation of species and collections into the programming language OCAML, with the use of OCAML's objects and modules. After that, we detail the translation into the proof language COQ, the late binding being translated by lambda-abstractions. We then show how this technique can be used to optimise OCAML executables. Last, we prove that the analyses performed by the compiler, as well as the translation mechanisms are correct with respect to the species formalisation made previously in COQ.
programming languages – functional programming – object-oriented programming – software verification – type theory