Thèse soutenue

Transformations de forcing et algèbres de monitoring

FR  |  
EN
Auteur / Autrice : Aloïs Brunel
Direction : Stefano GuerriniDamiano 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

FR  |  
EN

Résumé

FR  |  
EN

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.