Une théorie des systèmes distribués réversibles avec pannes et récupération
Auteur / Autrice : | Giovanni Fabbretti |
Direction : | Jean-Bernard Stefani |
Type : | Projet de thèse |
Discipline(s) : | Informatique |
Date : | Inscription en doctorat le 01/02/2021 |
Etablissement(s) : | Université Grenoble Alpes |
Ecole(s) doctorale(s) : | École doctorale mathématiques, sciences et technologies de l'information, informatique |
Partenaire(s) de recherche : | Laboratoire : Centre de recherche Inria de l'Université Grenoble Alpes |
Mots clés
Mots clés libres
Résumé
DCore vise à développer une nouvelle technologie de debugging pour les systèmes concurrents et distribués, basée sur la réversibilité concurrente et l'analyse de causalité. Cette thèse de doctorat concernera spécifiquement les fondations sémantiques et l'implémentation d'un debugger réversible expérimental pour des programmes acteurs concurrents et distribués comme par exemple les programmes Erlang. Un debugger réversible permet à un programmeur d'explorer l'exécution d'un programme en allant en avant et en arrière dans l'exécution en quand celui-ci cherche un bug. Alors que les debuggers réversibles sont connus pour les programmes séquentiels standards, ce n'est pas le cas pour les systèmes concurrents et distribués, où revenir en arrière dans une exécution n'est pas aussi simple que d'annuler les dernières instructions, mais peut impliquer de la rétro-inspection constante dans différentes suites concurrentes d'exécutions. Dans cette perspective, le but de ce doctorat est double : (1) étudier les aspects formels des sémantiques opérationnelles d'un debugger réversible pour des programmes concurrents ou distribués dans un langage acteur de pointe, (2) développer un prototype de debugger réversible comme démonstration de faisabilité pour le langage acteur choisi, et évaluer ses bénéfices et performances.