Thèse soutenue

Vérification Formelle de Compilation à la Volée

FR  |  
EN
Auteur / Autrice : Aurèle Barriere
Direction : Sandrine BlazyDavid Pichardie
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 19/12/2022
Etablissement(s) : Rennes, École normale supérieure
Ecole(s) doctorale(s) : École doctorale Mathématiques et sciences et technologies de l'information et de la communication (Rennes)
Partenaire(s) de recherche : Laboratoire : Université de Rennes - École normale supérieure - Rennes - Institut de Recherche en Informatique et Systèmes Aléatoires - Analyse sémantique et compilation pour la sécurité des environnements d'exécution
Jury : Examinateurs / Examinatrices : Stephan Merz, Magnus Myreen, Alan Schmitt, Manuel Serrano
Rapporteurs / Rapporteuses : Andrew W. Appel, Xavier Leroy

Mots clés

FR  |  
EN

Mots clés contrôlés

Résumé

FR  |  
EN

La compilation à la volée est une technique pour exécuter des programmes, où l'exécution est mélangée à des optimisations. Les compilateurs à la volée se distinguent par leur efficacité, mais aussi par leur complexité. Par exemple, ils réutilisent des techniques variées: certains contiennent des interprètes pour exécuter leur programme, mais aussi des compilateurs traditionnels pour générer du code machine optimisé. Ils utilisent également des techniques qui leur sont propres comme la spéculation, qui consiste à prédire le comportement futur du programme et générer du code particulièrement rapide si cette prédiction s'avère vrai.Cette grande complexité peut être à l'origine de bugs. Cette thèse s'attelle à leur vérification formelle, dans le but de développer des compilateurs à la volée dont on peut prouver formellement qu'ils se comportent comme spécifié par la sémantique du programme qu'ils exécutent. Nous présentons des preuves de correction des techniques principales qu'ils utilisent, comme la spéculation, les optimisations dynamiques ou la génération de code machine. Nous réutilisons des techniques de preuves issues de compilateurs traditionnels vérifiés comme CompCert. Nos preuves sont toutes vérifiées mécaniquement dans l'assistant de preuve Coq.