next up previous
Next: Modélisation en UML de Up: Sujets de stages de Previous: Génération de tests avec

Génération, sélection et optimisation génétique des tests

Lieu :
Irisa, Rennes
Equipe de recherche :
Pampa
Encadrants :
Yves LE TRAON (Yves.Le_Traon@irisa.fr, tél. direct : 02 99 84 25 68, C309) et Jean-Marc JÉZÉQUEL (Jean-Marc.Jezequel@irisa.fr, tél. direct : 02 99 84 71 92)


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.


next up previous
Next: Modélisation en UML de Up: Sujets de stages de Previous: Génération de tests avec