Thèse soutenue

Modélisation des comportements erronés du logiciel et application à la validation des tests par injection de fautes

FR  |  
EN
Auteur / Autrice : Muriel Daran
Direction : Pascale Thévenod-Fosse
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 1996
Etablissement(s) : Toulouse, INPT

Résumé

FR

Les travaux presentes dans ce memoire concernent la modelisation des comportements errones du logiciel et la validation des tests. L'absence d'un modele des fautes logicielles pose le probleme de la confiance que l'on peut accorder aux tests par rapport a l'elimination des fautes dans un programme. Cette confiance serait accrue si on pouvait mesurer la capacite de jeux de tests a reveler des fautes injectees dans un programme. Cependant, les methodes d'injection de fautes, telles que l'analyse de mutation, suscitent des critiques liees a la representativite des fautes injectees vis-a-vis de fautes reelles (c'est-a-dire effectivement introduites au cours du developpement du logiciel). S'il parait illusoire de demontrer la representativite des fautes artificielles, etant donne l'absence d'un modele de fautes complet et parfait, il nous parait interessant d'evaluer la representativite des erreurs generees par des fautes artificielles vis-a-vis des erreurs dues a des fautes reelles. Les etudes experimentales que nous avons menees, portent sur deux programmes sequentiels (appeles etud et locales), issus d'applications critiques du nucleaire. Elles ont eu pour objet d'analyser les erreurs generees au cours de l'execution du logiciel. Nous avons ainsi pu comparer, pour chacun de ces deux programmes, les erreurs et les comportements errones generes, d'une part par des fautes reelles et, d'autre part par des fautes artificielles (de type mutations). Nos resultats experimentaux permettent de montrer que les erreurs et les comportements errones produits par des mutations peuvent etre representatifs de ceux generes par de fautes reelles. La premiere serie d'experiences, sur le programme etud, a permis de definir un modele des comportements errones, a partir d'une representation de l'etat interne d'un programme en cours d'execution. Ce modele permet d'expliquer, par l'analyse des dependances du programme, les mecanismes de creation, d'annulation et de masquage d'erreurs. La deuxieme serie d'experiences, sur le programme locales, permet d'expliquer les similitudes observees entre divers comportements errones en appliquant le modele propose. En conclusion, la bonne representativite des erreurs generees par les mutations nous permet de rehabiliter l'analyse de mutation en tant que technique de validation des tests du logiciel et d'en proposer des applications a des fins industrielles