Résumé:
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.
Dans cet exposé, je vais présenter une partie théorique et
pratique
de mon travail. La première partie est centrée autour d'un
nouveau
concept, celui d'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 PVS, 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.
Back to schedule.