Thèse en cours

Systèmes de types pour la gestion programmatique sûre de la mémoire dans les langages fonctionnels

FR  |  
EN
Auteur / Autrice : Thomas Bagrel
Direction : Horatiu Cirstea
Type : Projet de thèse
Discipline(s) : Informatique
Date : Inscription en doctorat le 30/03/2022
Etablissement(s) : Université de Lorraine
Ecole(s) doctorale(s) : IAEM - INFORMATIQUE - AUTOMATIQUE - ELECTRONIQUE - ELECTROTECHNIQUE - MATHEMATIQUES
Partenaire(s) de recherche : Laboratoire : LORIA - Laboratoire Lorrain de Recherche en Informatique et ses Applications
Equipe de recherche : MOSEL-VERIDIS

Résumé

FR  |  
EN

L'objectif de cette thèse est de proposer et implémenter un formalisme permettant de manipuler avec plus de précision la mémoire dans le cadre des langages fonctionnels sans déroger aux contraintes de typage intrinsèques à ce type de langages. Cela permettra aux programmeurs d'améliorer les performances de leurs programmes tout en préservant les propriétés de confiance sous-jacentes. Le langage cible permettant de valider le formalisme est Haskell et les techniques proposées seront implémentées dans GHC, le principal compilateur de Haskell, qui est non seulement un compilateur de qualité industrielle mais aussi un outil d'expérimentation pour la recherche en langages de programmation. Concrètement, l'objet de cette thèse est d'étendre le langage Haskell, dont une caractéristique principale est la pureté, avec une notion de destination préservant la pureté qui permettrait de contrôler les allocations et de manipuler la mémoire avec plus de précision. La thèse étudiera une extension des formalismes usuels de la théorie des langages de programmation (lambda-calcul, correspondance de Curry-Howard) au concept de destinations. Elle contribuera ainsi à promouvoir les destinations en particulier, et le contrôle précis de la mémoire en général, du statut de technique pragmatique de bas niveau à celui de pratique aux bases théoriques solides. Cela permettra aux programmes écrits avec des destinations d'être analysés par les techniques standards comme la paramétricité, la réducibilité, ou la réalisabilité.