Application de la théorie des types et du démonstrateur COQ à la vérification de programmes parallèles - Archive ouverte HAL Accéder directement au contenu
Thèse Année : 1997

Application of type theory and the COQ assistant to the verification of parallel programs

Application de la théorie des types et du démonstrateur COQ à la vérification de programmes parallèles

Barbara Heyd
  • Fonction : Auteur
  • PersonId : 787331
  • IdRef : 160507456

Résumé

This thesis is an approach to the formaI specification and verification of distributed systems and in particular to the computer assisted verification. In this work, we use the COQ prover to verify concurrent programs and the chosen specification mechanism is the UNITY logic. First, we describe the Calculus of Inductive Constructions, which is the logic used in the Coq prover. Then we introduce the UNITY theory, but we linger over the problems of its logic, due to the ambiguity of quantifications in the Hoare triples. We propose also an extension of the logic, which solves these problems: a program's context is introduced and a new definition for reachable states is given. After the correctness and the completness of this new logic, we present the Coq-UNITY tool, which results of the implementation of this extension in the Coq system. To illustrate the feasibility of our approach, we present several examples of different complexities: the euclidian division, the reader-writer, the parking and the lift control. These four examples are the first case studies. Each of them highlights a particular problem either in proofs or in specifications. A last example describes a telecommunication protocol, namely the ABT/DT protocol. This example shows that the context is an important notion. Once the context is well-defined, it becomes very helpful in the verification.
Dans cette thèse, nous nous intéressons plus particulièrement à la vérification formelle de programmes parallèles en utilisant des techniques déductives basées sur la preuve de théorèmes. En particulier, nous nous spécifions et vérifions mécaniquement les programmes décrits en UNITY à l'aide de l'assistant de preuves COQ. Nous décrivons tout d'abord la logique sous jacente à l'assistant de preuves COQ, le Calcul des Constructions Inductives. Puis nous introduisons la théorie UNITY en s'attardant plus particulièrement sur les problèmes de sa logique résultant d'une ambiguïté de quantification au niveau des triplets de Hoare. Nous proposons alors une nouvelle logique, extension de la précédente, résolvant ses différents problèmes : une notion de contexte ou d'environnement à un programme apparaît et une nouvelle définition de l'ensemble des états atteignables est donnée. Une fois, la complétude et la correction de cette nouvelle logique démontrées, nous présentons l'outil Coq-UNITY, résultat de l'implémentation de cette nouvelle logique dans l'assistant COQ. Nous illustrons l'outil Coq-UNITY par différents exemples. Les quatre premiers sont la division euclidienne, les lecteurs-rédacteurs, le parking et le contrôleur d'ascenseur. Même si ce sont tous des cas d'école, leur difficulté est croissante. Chacun d'entre eux met, en effet, en évidence un problème particulier soit au niveau des preuves, soit au niveau spécification. Le dernier exemple concerne un protocole de télécommunications, le protocole ABT / DT. Sur cet exemple, nous montrons l'intérêt de la notion de contexte tant au niveau spécification qu'au niveau vérification.
Fichier non déposé

Dates et versions

tel-01747367 , version 1 (29-03-2018)

Identifiants

  • HAL Id : tel-01747367 , version 1

Lien texte intégral

Citer

Barbara Heyd. Application de la théorie des types et du démonstrateur COQ à la vérification de programmes parallèles. Autre [cs.OH]. Université Henri Poincaré - Nancy 1, 1997. Français. ⟨NNT : 1997NAN10291⟩. ⟨tel-01747367⟩
73 Consultations
0 Téléchargements

Partager

Gmail Facebook X LinkedIn More