Test guidé par la preuve : Application à la vérification d'algorithmes de tolérance aux fautes

par Guillaume Lussier

Thèse de doctorat en Systèmes informatiques

Sous la direction de Hélène Waeselynck.

Soutenue en 2004

à Toulouse, INSA , en partenariat avec Laboratoire d'Analyse et d'Architecture des Systèmes L.A.A.S. (Toulouse) (laboratoire) .


  • Résumé

    Nos travaux étudient la conception du test en complément de preuves : l'objectif est de définir des critères de sélection de test qui ciblent les lacunes de ces preuves. Le champ d'application proposé est la vérification d'algorithmes de tolérance aux fautes. Les preuves considérées peuvent être des démonstrations informelles, publiées dans la littérature, ou des preuves formelles inachevées. Dans le premier cas, nous définissons une méthode basée sur une reformulation du discours informel sous forme d'un arbre de preuve. L'arbre offre une représentation de l'articulation logique de la démonstration, ainsi qu'un support pour son analyse pas à pas. La faisabilité et l'efficacité du test guidé par la preuve sont évaluées expérimentalement sur deux exemples d'algorithmes incorrects : un algorithme d'ordonnancement de tâches, et un algorithme d'appartenance de groupe. Les résultats montrent que l'identification des lacunes de la preuve peut s'avérer efficace pour guider le test, sous réserve que l'analyse de l'arbre ne mette pas en évidence un manque de rigueur affectant l'ensemble de la démonstration. Dans le cas de preuves formelles, nous reprenons le principe d'un test basé sur l'arbre de preuve. L'établissement d'un lien entre les lemmes non prouvés et des sous-espaces d'entrée de test peut alors être plus problématique que précédemment. L'étude expérimentale d'un autre algorithme d'appartenance de groupe, partiellement prouvé avec le système PVS, montre néanmoins que, lorsqu'un lien est possible, cette information peut s'avérer pertinente pour guider le test

  • Titre traduit

    Proof Guided Testing : Application to the verification of fault-tolerance algorithms


  • Résumé

    Our work studies the design of testing to supplement correctness proofs: the goal is to define test selection criteria which focus on the weak parts of the proof. The proposed field of application is the verification of fault-tolerance algorithms. The target proofs can be informal demonstrations, published in the literature, or partial formal proofs. In the first case, we define a method based on the reformulation of the informal discourse as a proof tree. This tree offers a representation of the logical structure of the demonstration, and a support for its step by step analysis. The feasibility and efficiency of proof guided testing are experimentally assessed using two examples of flawed algorithms: a task scheduling algorithm, and a group membership algorithm. The results show that identification of the weak parts of the proof can be effective to guide testing, provided that the tree analysis does not reveal a lack of rigor affecting the whole demonstration. In the case of formal proofs, we retain the principle of testing based on the proof tree. Establishing a link between unproved lemmas and subspaces of the test input domain can be more difficult than previously. Still, the experimental study of another group membership algorithm, partially proved with the PVS system, shows that, if a link can be established, this information can be relevant to guide testing

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. ( XII-160 p.)
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliogr. p. 149-160

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Institut national des sciences appliquées. Bibliothèque centrale.
  • Disponible pour le PEB
  • Cote : 2004/738/LUS
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.