Ce travail porte sur le test structurel des programmes réactifs synchrones érits en Lustre et sur la définition de critères de couverture pour assurer ce test structurel. Lustre est un langage réactif synchrone flot de données, largement utilisé pour la spécification et la programmation des applications critiques dans des domaines comme l'aéronautique, l'énergie ou les transports. L'application à Lustre des critères de couverture usuels basés sur le flot de contrôle (couverture des instructions, couverture des branches,...) n'est pas significative. <br /><br />Nous avons, en conséquence, défini une hiérarchie de critères adaptés au paradigme flot de données synchrone. Les critères permettent de mesurer la couverture des chemins dans un réseau d'opérateurs. Un réseau d'opérateurs est une modélisation graphique des flots de données dans un programme Lustre. Les critères sont basés sur le calcul symbolique des conditions d'activation de ces chemins. <br /><br />Un outil nommé Lustructu, a été réalisé pour mesurer la couverture atteinte par un jeu de tests selon ces critères. Lustructu analyse le programme sous test et calcule les chemins et leurs conditions d'activation. L'évaluation de la couverture par Lustructu est non-intrusive (pas d'instrumentation du code). L'applicabilité et la pertinence des critères ont été évaluées sur une étude de cas significative issue du secteur de l'aéronautique.
Identifer | oai:union.ndltd.org:CCSD/oai:tel.archives-ouvertes.fr:tel-00100384 |
Date | 08 September 2006 |
Creators | Lakehal, Abdesselam |
Source Sets | CCSD theses-EN-ligne, France |
Language | French |
Detected Language | French |
Type | PhD thesis |
Page generated in 0.0032 seconds