Objectif du travail :
Une méthode élégante et pragmatique d'analyse de l'efficacité des tests
consiste à injecter volontairement un ensemble ciblé de fautes dans le logiciel
sous test. Chaque programme dans lequel on a injecté une ou plusieurs fautes
par rapport au programme initial est appelé programme ``mutant''. La confiance
dans les tests est donc liée à la proportion des mutants détectés à
l'application des tests (analyse de mutation). Un outil a été réalisé pour
permettre cette analyse de mutation pour des composants objet. Considérons
maintenant que nous disposons d'une famille de tests, que nous pouvons
qualifier de ``tueurs de mutants'', et que nous disposons d'autre part d'une
population de programmes faux, de ``mutants''. Passer une génération de test
consiste à appliquer une analyse de mutation et à ne conserver ensuite que les
mutants vivants d'une part et les tueurs efficaces de l'autre.
Le problème posé est alors le suivant : comment combiner les tueurs efficaces (c'est-à-dire les tests) pour produire une nouvelle génération de tueurs ? Dans un second temps, on pourra aussi s'interroger sur la manière de rendre plus résistante la population, ce qui revient à dire qu'il faut injecter des fautes plus subtiles.
Ce stage de DEA a pour objectif d'investiguer cette nouvelle approche du problème du test. Il s'agira de modéliser des opérateurs de combinaison des tests (on pourra étudier les algorithmes génétiques), et si possible en une étude de faisabilité à partir d'une étude de cas existante. Si une telle analogie de sélection et d'amélioration ``darwinienne'' des tests s'avérait possible, cette méthode permettrait la génération automatique à partir d'un germe initial de cas de test efficaces, et par conséquent, la qualification de composants logiciels.
Bibliographie :
B. Beizer, ``Software testing techniques'', Van Norstrand Reinhold, 1990. ISBN 0-442-20672-0.
A. J. Offutt, ``Investigation of the software testing coupling effect'', ACM Transaction on Software Engineering Methodology, vol. 1, pp. 3-18, 1992.
J. Offutt, J. Pan, K. Tewary and T. Zhang ``An experimental evaluation of data flow and mutation testing,'' Software Practice and Experience, v 26, n 2, February 1996.