thesis

Generation automatique de cas de test structurel avec la programmation logique par contraintes

Defense date:

Jan. 1, 2000

Edit

Institution:

Nice

Disciplines:

Authors:

Directors:

Abstract EN:

Pas de résumé disponible.

Abstract FR:

Le test structurel est une technique tres utilisee pour verifier les programmes informatiques ecrits dans des langages imperatifs. En particulier, s'assurer que chaque instruction a ete executee au moins une fois durant la phase de test est communement accepte comme un prerequis minimum a toute utilisation d'un programme. Un des problemes du test structurel consiste donc a generer automatiquement un cas de test qui atteint une instruction selectionnee dans un programme. Ce probleme, indecidable dans le cas general, n'a pas ete traite de maniere tout a fait satisfaisante jusqu'a present. Dans cette these, nous presentons une nouvelle methode de generation automatique de cas de test structurel basee sur l'utilisation de la programmation logique par contraintes sur les domaines finis (note clp(fd))). L'idee generale, sur laquelle repose cette methode, consiste a traduire un programme imperatif (programme sous test) en un programme clp(fd). Chaque variable du programme est transformee en un ensemble de variables logiques et chaque instruction est transformee en une contrainte ou operateur de clp(fd) le choix d'un point dans le programme (point a atteindre) conduit a poser un systeme de contraintes sur les variables dont une solution, si elle existe, est un cas de test qui atteint le point selectionne. Si le systeme de contraintes ne possede pas de solution, alors le point selectionne est non-executable, i. E. Aucun cas de test ne peut provoquer son execution (sous certaines conditions). La resolution des contraintes s'appuie sur des techniques de filtrage par consistance partielle et un processus de recherche. Les techniques de filtrage permettent de reduire les domaines de variation des variables d'entree, reduisant ainsi l'espace de recherche des cas de test. Le processus de recherche associe une procedure d'enumeration de valeurs avec un systeme d'inference de contraintes, et permet d'exhiber, dans certain cas, une solution au probleme de la generation automatique de cas de test structurel.