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

par Barbara Heyd

Thèse de doctorat en Informatique

Sous la direction de Pierre Lescanne.

Soutenue en 1997

à Nancy 1 .


  • Résumé

    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.

  • Titre traduit

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


  • 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.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (XI-182 p.)
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliographie p. 173-178. Index

Où se trouve cette thèse ?

  • Bibliothèque : Université de Lorraine (Villers-lès-Nancy, Meurthe-et-Moselle). Direction de la Documentation et de l'Edition - BU Sciences et Techniques.
  • Disponible pour le PEB
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.