Objectif de travail :
Dans une architecture de test distante, le testeur accède à l'implantation à
tester (IUT, implementation under test) via un réseau. Le testeur envoie des
stimuli et observe les réactions de l'IUT via des PCOs (Point of Control and
Observation). Du fait du transit dans le réseau (qui est un environnement
typiquement asynchrone), il est difficile de prévoir tous les déséquencements
qu'il peut y avoir sur les différents PCOs ainsi que les collisions qu'il peut
y avoir entre un stimulus et une observation sur un même PCO. Ceci est à la
base des erreurs que l'on rencontre dans les tests asynchrones.
La conception de tests synchrones est un peu plus facile. Mais, la transformation de tests synchrones en asynchrones n'est pas une tâche aisée. Par ailleurs, il est difficile de comparer ces deux types de test en termes de qualité de tests (i.e. pouvoir de détection d'erreur dans les IUTs). Dans [1] et dans le cadre d'un PCO, nous avons montré qu'en utilisant des estampilles logiques, ces deux types de tests ont le même pouvoir de test : Les IUT conformes en environnement asynchrones le sont en environnement synchrone. De plus, nous avons montré qu'en utilisant un driver de test (qui exploite ces informations d'estampillage) au runtime, les tests conçus pour un environnement synchrone pouvaient être utilisés pour tester la conformité en environnement asynchrone.
Dans un premier temps, il s'agira d'étudier la méthode proposée dans [1]. Il faudra ensuite étudier comment celle-ci peut être généralisée à un contexte de plusieurs PCOs; nous avons donné dans [1] une idée de solution qui peut guider la réflexion. De façon plus générale, il s'agira d'étudier comment les techniques d'observations réparties (de type estampillage et horloge vectorielle) peuvent être judicieusement utilisées pour améliorer la qualité des tests en environnement asynchrone multi-PCOs.
Le stagiaire bénéficiera d'un environnement lui permettant de valider rapidement ses solutions : le prototype PiXiT qui permet de simuler des implantations (et des mutants) et d'exécuter des tests répartis au dessus de TCP/IP, l'outil TGV de génération automatique de tests développé par l'équipe Pampa, la boîte à outils CADP qui offre une architecture ``ouverte'' permettant de prototyper rapidement de nouveaux algorithmes en utilisant des primitives de manipulation de graphes et de stockage de haut niveau, etc.
Bibliographie :
[1] C. Jard, T. Jéron, L. Tanguy, and C. Viho, Remote testing can be
as powerful as local testing, To appear in Joint International Conf. on
formal description techniques, and protocol specification, testing and
verification, Beijing, Oct. 1999.
Commentaires divers :
Ce sujet convient plus particulièrement à tout stagiaire intéressé par le
domaine des réseaux, alliant à la fois des aspects théoriques (concepts,
modèles et langages pour la spécification formelle des systèmes répartis) et
des aspects pratiques (langages et outils de mise en uvre de tests et de
programmation des architectures de réseaux). Ce stage doit lui permettre
d'acquérir une bonne connaissance du domaine du test de réseaux pouvant lui
permettre soit de poursuivre en thèse sur les travaux engagés dans l'équipe
Pampa concernant l'amélioration de la qualité des tests(QoT), soit d'intégrer
une grande entreprise de R&D Télécom.