Transformations de forcing et algèbres de monitoring
Auteur / Autrice : | Aloïs Brunel |
Direction : | Stefano Guerrini, Damiano Mazza |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 27/06/2014 |
Etablissement(s) : | Paris 13 |
Ecole(s) doctorale(s) : | École doctorale Galilée (Villetaneuse, Seine-Saint-Denis) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire informatique de Paris-Nord (Villetaneuse, Seine-Saint-Denis ; 2001-....) |
Jury : | Président / Présidente : Pierre-Louis Curien |
Examinateurs / Examinatrices : Martin Hofmann, J. M. E. Hyland, Paul-André Melliès, Michèle Pagani | |
Rapporteurs / Rapporteuses : Lars Birkedal, Alexandre Miquel |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Nous proposons dans ce manuscrit un nouveau cadre sémantique, basé sur la composition de variantes Linéaires de la réalisabiblité de Krivine et du forcing de Cohen. Le premier ingrédient est la Monitoring Abstract Machine : un environnement de calcul qui utilise des cases mémoires réservées utilisées pour "surveiller" l'exécuter des programmes, dans le style de la KFAM introduite par Miquel. Cette machine émerge naturellement d'une transformation de programme basée sur un forcing Linéaire. Nous introduisons par la suite la notion centrale d'Algèbre de Monitoring et le modèle de réalisabiblité associé. Chaque algèbre de monitoring induit une sémantique correcte pour un langage de programmation associé. Nous utilisons ensuite la technique de forcing itéré pour combiner plusieurs algèbres de monitoring. Nous montrons que la structure de forcing peut être utilisée pour représenter la consommation de ressources (en particulier le temps), le step-indexing ou encore des références d'ordre supérieur. Nous appliquons notre théorie pour obtenir trois preuves de corrections complexes : - Nous donnons la première preuve sémantique de la cohérence d'une théorie des ensembles naïve sans contraction introduite par Grishin. - Nous utilisons notre cadre pour obtenir un résultat de terminaison en temps polynomial pour un langage de programmation avec types récursifs basé sur une logique light. - Nous reprouvons la correction d'un langage avec références d'ordre supérieur et mise à jour forte, inspiré par un système de type introduit par Ahmed et al.