Critères de couverture structurelle pour les programmes Lustre - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2006

Critères de couverture structurelle pour les programmes Lustre

Strurtural coverage criteria for Lustre programs

Abdesselam Lakehal
  • Fonction : Auteur
  • PersonId : 835447

Résumé

This work deals with the structural testing of the synchronous reactive programs written in Lustre and the definition of criteria to ensure the coverage of this structural testing. Lustre is a data-flow reactive synchronous language, widely used for the specification and the programming of the critical applications in fields like aeronautics, energy or transport. The application to Lustre of the usual control-flow based coverage criteria (statement coverage, branch coverage...) is not significant.

We, consequently, defined a hierarchy of criteria tailored to the data-flow synchronous paradigm. The criteria make it possible to measure the coverage of the paths in an operator network, a graphical model of the data flows in a Lustre program. The criteria are based on a symbolic computation of the activation conditions of these paths.

The criteria were implemented in a tool, Lustructu, which is able to measure the coverage reached by a test set according to these criteria. Lustructu analyzes the program under test and computes the paths and the associated activation conditions. The evaluation of the coverage using Lustructu is not-intrusive (no instrumentation of the code). The applicability and the relevance of the criteria were evaluated on an important case study from the avionics field.
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.

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.

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.
Fichier principal
Vignette du fichier
These_LakehalAbdesselam.pdf (2.36 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00100384 , version 1 (26-09-2006)

Identifiants

  • HAL Id : tel-00100384 , version 1

Citer

Abdesselam Lakehal. Critères de couverture structurelle pour les programmes Lustre. Génie logiciel [cs.SE]. Université Joseph-Fourier - Grenoble I, 2006. Français. ⟨NNT : ⟩. ⟨tel-00100384⟩
304 Consultations
2411 Téléchargements

Partager

Gmail Facebook X LinkedIn More