Thèse soutenue

Preuve de programmes imperatifs en theorie des types
FR
Accès à la thèse
Auteur / Autrice : Jean-Christophe Filliâtre
Direction : Christine Paulin-Mohring
Type : Thèse de doctorat
Discipline(s) : Sciences et techniques
Date : Soutenance en 1999
Etablissement(s) : Paris 11

Résumé

FR

Nous etudions le probleme de la certification de programmes melant traits imperatifs et fonctionnels dans le cadre de la theorie des types. La theorie des types constitue un puissant langage de specification, naturellement adapte a la preuve de programmes purement fonctionnels. Pour y certifier egalement des programmes imperatifs, nous commencons par exprimer leur semantique de maniere purement fonctionnelle. Cette traduction repose sur une analyse statique des effets de bord des programmes, et sur l'utilisation de la notion de monade, notion que nous raffinons en l'associant a la notion d'effet de maniere generale. Nous montrons que cette traduction est semantiquement correcte. Puis, a partir d'un programme annote, nous construisons une preuve de sa specification, traduite de maniere fonctionnelle. Cette preuve est batie sur la traduction fonctionnelle precedemment introduite. Elle est presque toujours incomplete, les parties manquantes etant autant d'obligations de preuve qui seront laissees a la charge de l'utilisateur. Nous montrons que la validite de ces obligations entraine la correction totale du programme. Nous avons implante notre travail dans l'assistant de preuve coq, avec lequel il est des a present distribue. Cette implantation se presente sous la forme d'une tactique prenant en argument un programme annote et engendrant les obligations de preuve. Plusieurs algorithmes non triviaux ont ete certifies a l'aide de cet outil (find, quicksort, heapsort, algorithme de knuth-morris-pratt).