• Aucun résultat trouvé

Chapitre 4. Aide au diagnostic au cours de la vérification sur la FAL

4.2 Stratégie de test Multiple-Clue

4.2 Stratégie de test Multiple-Clue

Pour rappel, une stratégie de test définit la méthodologie de test correspondant à la manière

d’appliquer les tests et d’analyser les résultats. Multiple-Clue est une stratégie de test

combinatoire basée sur une approche par recoupements pour le diagnostic d’une faute à l’issue

de la vérification d’un système [Gal91]. Dans le cadre de nos travaux, un système peut être

considéré comme un ensemble de ressources Ri (matériels ou logiciels) implantant des

fonctions. Au cours de la phase de vérification, des tests Ti sont définis pour vérifier ces

fonctions. Le principe de la stratégie Multiple-Clue est de sélectionner un ensemble minimal de

tests nécessaires et suffisants pour :

− activer toutes les ressources du système ;

− assurer le diagnostic le plus précis possible à partir des informations disponibles sur le

résultat des tests exécutés au cours de la vérification.

Dans la suite de cette section, nous introduisons les notions et termes utilisés (section

4.2.1) ; nous présentons les hypothèses d’application de Multiple-Clue (section 4.2.2) et nous

décrivons les informations fournies à l’issue de l’application de cette stratégie de test (section

4.2.3).

4.2.1 Définition des notions et termes

D’une manière générale, un système S peut être considéré comme un ensemble de

ressources R (matérielles et logicielles) implantant des fonctions. Au cours de la phase de

vérification, un ensemble de tests T sont définis et exécutés pour vérifier ces fonctions.

Définition 10 : Ressources

Une ressource Ri correspond à une partie du système S qui peut être responsable d’une

faute.

Définition 11 : Test ou cas de test

Un test Ti correspond à une combinaison d’entrées du système permettant l’activation d’un

ensemble de ressources pour la vérification d’une fonction. L’exécution d’un test peut révéler

une faute parmi les ressources activées. On appelle trace du test Ti « trace( )Ti » l’ensemble des

ressources activées au cours de son exécution.

122 Chapitre 4. Aide au diagnostic au cours de la vérification sur la FAL

Un oracle décrit le résultat attendu de chaque test Ti défini. Il permet de déterminer si une

fonction testée est correcte ou pas. Le verdict est alors rendu sur le résultat de l’exécution du

test.

Définition 13 : Tests équivalents

Deux tests Ti et Tj sont dits équivalents ou redondants pour le diagnostic lorsqu’ils activent

les mêmes ressources : trace( )Ti =trace( )Tj .

Définition 14 : Ressources indiscernables

Deux ressources Ri et Rj sont dites indiscernables pour le diagnostic lorsqu’elles sont

toujours et uniquement activées par les mêmes tests :

( )k j ( )k

i

k T si R traceT alors R traceT

T ∈ ∈ ∈

∀ ;

Définition 15 : Ensemble de diagnostic

Un ensemble de diagnostic est un sous-ensemble de T nécessaire et suffisant pour activer

au moins une fois l’ensemble des ressources du système et identifier soit la ressource

défectueuse, soit l’ensemble de ressources indiscernables suspecté au cours du diagnostic.

4.2.2 Hypothèses d’application de Multiple-Clue

Au cours d’une campagne de test, la détection d’une faute à l’issue de l’exécution d’un test

implique l’existence d’au moins une ressource défectueuse parmi les ressources activées. Les

tests détectant une faute sont ceux qui fournissent des informations sûres au cours de la

vérification. Une faute est détectée par un test lorsqu’il n’y a pas de cohérence entre le résultat

effectif des tests exécutés et le résultat attendu constituant l’oracle. De ce fait, le diagnostic est

basé sur la confiance en l’oracle et le verdict associé au résultat des tests exécutés. Un oracle est

dit « sûr » lorsqu’il remplit la condition suivante : si le verdict d’un test correspond à celui

indiqué dans l’oracle alors l’ensemble des ressources activées par ce test peuvent être

considérées comme correctes. Inversement, un oracle est « non sûr » lorsque la non-détection

d’une faute au cours l’exécution d’un test n’implique pas que l’ensemble des ressources activées

soient correctes.

Cependant, deux paramètres inconnus sont utilisés pour réaliser un tel diagnostic : le

nombre de fautes détectées à l’issue de l’exécution d’un ensemble de tests et la confiance

attribuée aux tests n’ayant pas détecté de faute à l’issue de leur exécution (la probabilité

d’infection d’un état défectueux et de propagation de cet état au niveau du résultat du test).

4.2. Stratégie de test Multiple-Clue 123

Considérant ces paramètres, les hypothèses d’application de Multiple-Clue sont les

suivantes : une seule ressource est défectueuse parmi l’ensemble des ressources activées au

cours de la vérification et l’oracle est « sûr ». En effet, un ensemble de tests qui ne détecte pas de

faute implique que les ressources activées sont correctes (la probabilité d’infection et de

propagation d’une faute lorsqu’une ressource défectueuse est activée est égale à 1). Le résultat

de l’ensemble des tests sélectionnés est utilisé au cours du diagnostic.

Ces hypothèses conduisent à utiliser la stratégie Multiple-Clue dans un contexte d’existence

de faute simple, contexte bien adapté aux phases de vérification finale des systèmes et de

maintenance.

4.2.3 Informations fournies par Multiple-Clue

L’application de la stratégie Multiple-Clue [Kha98, Kha01a, Kha01b] permet d’évaluer

l’effort de diagnostic d’un système en fournissant des informations sur :

− les ressources indiscernables : deux ressources sont indiscernables lorsqu’elles sont

toujours activées de la même manière par les mêmes tests. En cas d’erreur, il est donc

impossible de savoir laquelle de ces ressources est défectueuse ;

− les tests équivalents pour le diagnostic : deux tests sont équivalents pour le diagnostic

lorsqu’ils activent le même ensemble de ressources ;

− l’ensemble de diagnostic : il correspond à un ensemble minimal de tests « pertinents »

choisis qui assure l’activation de toutes les ressources et la localisation d’une faute. Cet

ensemble est utilisé pour la mise en œuvre de l’approche par recoupements.

La figure ci-dessous est utilisée pour illustrer le principe de l’approche par recoupements

proposée par la stratégie Multiple-Clue.

Figure 4.5 : Exemple pour l'illustration des principes de l’approche par recoupements

Le système représenté par la figure ci-dessus est composé de trois ressources (R1, R2 et R3).

Deux tests (T1 et T2) ont été sélectionnés par Multiple-Clue pour le diagnostic après la détection

d’une faute au cours de la vérification du système. Le test T1 active les ressources R1, R2 et le test

T2 active les ressources R2, R3. Le verdict d’un test Ti est un « succès » lorsque le résultat de

B A

C

R2 R1

124 Chapitre 4. Aide au diagnostic au cours de la vérification sur la FAL

l’exécution correspond au résultat attendu et les ressources activées par ce test sont correctes.

Le verdict est un « échec » sinon. Les différentes possibilités de diagnostic en fonction des

résultats des tests T1 et T2 sont présentées à l’aide de la figure ci-dessous. Elle sera appelée par

la suite « arbre de test ».

Figure 4.6 : Arbre de test du résultat de Multiple-Clue

4.2.4 Synthèse

Dans cette section, nous avons présenté la stratégie Multiple-Clue adaptée à la détection et

la location de faute simple au cours de la vérification de systèmes. Les hypothèses d’application

ainsi que les informations fournies par cette stratégie ont été décrites. Par ailleurs, l’application

de la stratégie Multiple-Clue nécessite une modélisation du système. Cette modélisation consiste

à mettre en relation l’ensemble des ressources avec l’ensemble des tests définis pour la

vérification du système.