Vérification dynamique formelle de propriétés temporelles sur des applications distribuées réelles
Auteur / Autrice : | Marion Guthmuller |
Direction : | Sylvain Contassot-Vivier, Martin Quinson |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 29/06/2015 |
Etablissement(s) : | Université de Lorraine |
Ecole(s) doctorale(s) : | École doctorale IAEM Lorraine - Informatique, Automatique, Électronique - Électrotechnique, Mathématiques de Lorraine (1992-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire lorrain de recherche en informatique et ses applications |
Jury : | Président / Présidente : Gaël Thomas |
Examinateurs / Examinatrices : Jean-Marc Vincent | |
Rapporteur / Rapporteuse : Jacques Julliand, Vivien Quéma |
Mots clés
Résumé
Alors que l'informatique est devenue omniprésente dans notre société actuelle, assurer la qualité d'un logiciel revêt une importance grandissante. Pour accroître cette qualité, l'une des conditions à respecter est la correction du système. Dans cette thèse, nous nous intéressons plus particulièrement aux systèmes distribués mettant en œuvre un ou plusieurs programmes exécutés sur plusieurs machines qui communiquent entre elles à travers le réseau. Dans ce contexte, assurer leur correction est rendu plus difficile par leur hétérogénéité mais également par leurs spécificités communes. Les algorithmes correspondants sont parfois complexes et la prédiction de leur comportement difficilement réalisable sans une étude avancée. Les travaux réalisés au cours de cette thèse mettent en œuvre la vérification dynamique formelle de propriétés temporelles sur des applications distribuées. Cette approche consiste à vérifier l'implémentation réelle d'une application à travers son exécution. L'enjeu majeur est de réussir à appliquer les techniques associées au Model checking dans le cadre d'une vérification sur des implémentations réelles d'applications distribuées et non plus sur des modèles abstraits. Pour cela, nous proposons dans un premier temps une analyse sémantique dynamique par introspection mémoire d'un état système permettant de détecter des états sémantiquement identiques. Puis, nous mettons en œuvre la vérification dynamique formelle de certaines propriétés temporelles : les propriétés de vivacité, formulées à l'aide de la logique LTL_X, et le déterminisme des communications dans les applications MPI. Une évaluation de chacune de ces contributions est réalisée à travers plusieurs expériences