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.
Dans le document
Contribution à l'analyse de testabilité des systèmes réactifs temps-réel : Aide à la validation et à la vérification de systèmes
(Page 122-125)