Thèse soutenue

Preuves par récurrence avec ensembles couvrants contextuels : applications à la vérification de logiciels de télécommunications

FR
Auteur / Autrice : Sorin Stratulat
Direction : Michaël Rusinowitch
Type : Thèse de doctorat
Discipline(s) : Sciences et techniques
Date : Soutenance en 2000
Etablissement(s) : Nancy 1
Partenaire(s) de recherche : autre partenaire : Université Henri Poincaré Nancy 1. Faculté des sciences et techniques

Résumé

FR  |  
EN

Le processus de certification de logiciels est dans la plupart des cas une tâche laborieuse et coûteuse qui nécessite aussi bien des méthodes mathématiques, pour exprimer sans ambiguïté et de façon structurée le comportement attendu du logiciel, que des outils automatiques pour vérifier ses propriétés. Parmi les techniques de preuve, la récurrence est parfaitement adaptée pour raisonner sur des structures de données infinies, comme les entiers et les listes, ou des systèmes paramétrés. Cette thèse comprend deux parties, l'une théorique, l'autre applicative. La première partie est centrée autour d'un nouveau concept, l'ensemble couvrant contextuel (ECC). Le principe de preuve par récurrence avec ECC est exprimé par un système d'inférence abstrait qui introduit des conditions suffisantes pour son application correcte. La conception modulaire de règles d'inférence concrètes est un avantage de cette approche. Comme étude de cas, nous spécifions le système d'inférence du démonstrateur SPIKE en tant qu'instance de ce système. Dans la deuxième partie, nous analysons tout d'abord le problème d'interactions de services téléphoniques. Nous proposons une méthodologie pour les détecter et les résoudre, reposant sur des techniques basées sur la réécriture conditionnelle et la récurrence. Dans une autre application, nous obtenons, à l'aide du démonstrateur PYS, la première preuve formelle de l'équivalence entre deux algorithmes de conformité du protocole ABR. Puis, nous utilisons SPIKE pour vérifier complètement automatiquement la majorité des 80 lemmes de cette preuve.