Methodes et outils de test pour lustre et les langages synchrones
Institution:
Paris 11Disciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Cette these porte sur le test de logiciels synchrones. Une methode de test qui prend a la fois en compte les aspects temporels et les aspects fonctionnels du langage lustre a ete proposee. Une decomposition en sous-domaines du domaine d'entree d'un programme decrit en lustre est realisee. Les decompositions sont fonction de sous-domaines des entrees des operateurs de la description. Des sous-domaines des operateurs temporels ont ete etudies. Une chaine automatisee de test a ete definie dans son integralite : partant de sous-domaines des operateurs un pre-traitement est effectue, la chaine de test se termine par l'utilisation d'un moniteur qui traduit les fichiers d'entree et sortie generes en ordres specifiques a l'implantation sous test. Ce nouveau moniteur a ete specifiquement concu pour le test d'applications decrites en lustre et autres applications synchrones se conformant a une interface precise. Le pre-traitement consiste en une analyse temporelle qui permet la detection des dependances entre la valeur d'une variable a un instant et les valeurs de cette variable a des instants precedents, et construit les predicats qui conditionnent ces dependances. Il est alors possible de considerer des uniformites ou d'autres hypotheses de test sur les sous-domaines resultant de l'analyse temporelle. L'analyse temporelle est generique au niveau des dependances considerees entre les valeurs des flots de sortie et d'entree des operateurs. Les choix de test sont localises dans une bibliotheque : sous-domaines fonctionnels et temporels ainsi que la caracterisation des instants qui interviennent pour le calcul de chaque operateur. Un prototype d'analyse temporelle a ete realise et le moniteur a ete implante. Des experiences montrent le pouvoir de detection de fautes de la methode. L'existence de la bibliotheque permet de memoriser des sous-domaines des operateurs qui ont permis la detection de fautes. L'utilisateur peut donc enrichir incrementalement la methode.