Thèse soutenue

Vérification formelle des systèmes parallèles décrits en Unity à l'aide d'un outil de démonstration automatique

FR  |  
EN
Auteur / Autrice : Boutheïna Chetali
Direction : Pierre Lescanne
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 1996
Etablissement(s) : Nancy 1
Partenaire(s) de recherche : Autre partenaire : Université Henri Poincaré Nancy 1. Faculté des sciences et techniques

Résumé

FR

Cette thèse est consacrée à l'utilisation des méthodes formelles de spécification et de vérification dans le cadre des techniques déductives basées sur la preuve de theorèmes. En particulier, nous nous intéressons à la spécification et à la vérification mécanique de programmes parallèles décrits en Unity à l'aide du démonstrateur du Larch, LP. Nous décrivons la formalisation et la mécanisation de la logique et de la méthodologie d'Unity à l'aide d'un outil de démonstration automatique du premier ordre et à large spectre tel que LP et à leur mise en oeuvre dans des exemples utiles et conséquents. Nous formalisons dans un premier temps la syntaxe et la sémantique d'Unity dans l'environnement de LP en choisissant comme outil formel la plus faible pré-condition introduite par Dijkstra. Cette modélisation comprend la représentation syntaxique concrète des objets prédicats, de la notation de programmation et des prédicats temporels de Unity dans une logique du premier ordre. Nous décrivons la construction et la validation d'une base de faits basée sur l'approche des spécifications LSL. Nous proposons une méthodologie de preuve incrémentale basée sur l'utilisation d'un démonstrateur pour la vérification mécanisée dans le but à la fois d'aider à la mise au point des preuves et à la réutilisation des preuves. Nous illustrons l'approche proposée à l'aide de trois études de cas. La vérification formelle mécanique d'un protocole de communication à travers des canaux défectueux met en évidence la méthodologie utilisée pour montrer des propriétés de sûreté et de vivacité et comment un démonstrateur peut être effectivement utilisé pour détecter des failles dans la spécification. La vérification du problème des lecteurs rédacteurs illustre un aspect important dans l'utilisation des démonstrateurs, à savoir la réutilisation et la mécanisation des preuves. Enfin, la vérification d'un protocole de contrôle d'un ascenseur permet de comparer notre approche à celle utilisée avec le démonstrateur d'ordre supérieur HOL.