Thèse en cours

Instrumentation Expressive et Correcte de Programmes Distribues et Verification a L'execution
FR  |  
EN
Auteur / Autrice : Chukri Soueidi
Direction : Gwen Salaun
Type : Projet de thèse
Discipline(s) : Informatique
Date : Inscription en doctorat le 01/10/2020
Etablissement(s) : Université Grenoble Alpes
Ecole(s) doctorale(s) : École doctorale mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 199.-....)
Partenaire(s) de recherche : Laboratoire : Institut National de Recherche en Informatique et en Automatique

Résumé

FR  |  
EN

Cette thèse vise à résoudre les situations susmentionnées dans le paysage des outils de vérification d'exécution afin de fournir un cadre complet pour la vérification d'exécution sonore et expressive d'applications multithreads. Tout d'abord, nous visons à concevoir une méthode et un outil d'instrumentation offrant suffisamment de flexibilité pour effectuer certaines tâches d'instrumentation qui nécessitent d'atteindre des régions de code de bas niveau, telles que des instructions de bytecode, des variables locales d'une méthode et des blocs de base dans le graphe de flux de contrôle. (CFG). Un tel outil devrait rendre compte de la (des) trace (s) d'exécution du programme de manière saine, soit comme un ensemble de traces possibles compatibles avec l'exécution en cours, soit comme une séquence d'événements partiellement ordonnée. Deuxièmement, nous visons à concevoir un langage de spécification polyvalent pour prendre en charge la spécification de propriétés définies par l'utilisateur sur des programmes multithread. Un tel langage devrait prendre en charge une construction spécifique non seulement pour raisonner sur l'état attendu du programme, l'ordre des instructions, mais également des événements spécifiques liés à la concurrence (par exemple, synchronisation, fork, etc.). Le langage doit être doté d'une sémantique formelle et doit pouvoir exprimer des classiques. propriétés traditionnelles sur des traces totalement ordonnées. En tant que tel, le langage doit être capable de prendre en charge des formes hybrides de traces avec des régions concurrentes et séquentielles avec un ordre partiel et total entre les événements. Naturellement, le cadre sera démontré sur des références et des applications pertinentes. Au cours de la thèse, nous allons également concevoir des benchmarks spécifiques aux applications multi-threadées car il n'y a pas de benchmark spécifique qui cible les applications multi-threadées. Les théories et techniques seront appliquées à un sujet pertinent disponible dans les projets d'équipe