Upload
leolin-page
View
108
Download
1
Embed Size (px)
Citation preview
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
1
LE PROJET INKAB.Botella
Thalès Systèmes Aeroportés
Objectifs : Logiciel INKA
générateur automatique de cas de test structurel pour C et C++
5 partenaires : THALES SA
AXLOG Ingénierie
I3S - Université de Nice Sophia Antipolis
LIFC - Université de Franche Comté
LSR - Université de Grenoble
Durée : 24 mois (01/2001 --> 01/2003)
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
2
Cycle en VValidation en volValidation en vol
Validation sur bancValidation sur banc
Validation
Globale
Conception
Globale
Codage
Test Unitaires
(et d’Intégration)
Tests du Logiciel /
Fonction
opérationnelle
Exigences
Modèle UML
Modèle UML
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
3
Stratégies de test
Cas de test Sorties
Test fonctionnel : basé sur l’étude des spécifications
Test structurel : basé sur l ’analyse du programme
Cas de test Sorties
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
4
Specification :returns the product of i by j
(i = 0, j = 0) --> 0(i = 10, j = 100) -->1000…
--> OK
prod(int i,int j ) {
int k ;if( i==2 )
k := i << 1 else(faire i fois l ’addition de j) return k ;
}
Functional testing
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
5
Structural testing is indispensable !
Undetected fault byfunctional testingpatch -> k := j << 1
Specification :returns the product of i by j
(i = 0, j = 0) --> 0(i = 10, j = 100) --> 1000
prod(int i,int j ) {
int k ;if( i==2 )
k := i << 1 else(faire i fois l ’addition de j) return k ;
}
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
6
Graphe de flot de contrôle
f( int i ) { j := ... if( Condition1 ) j := ...
if( Condition2 ) j := ...
return j }
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
7
f( int i ) { j := ... if( Condition1 ) j := ...
if( Condition2 ) j := ...
return j }
f
v
Graphe de flot de contrôle
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
8
f( int i ) { j := ... if( Condition1 ) j := ...
if( Condition2 ) j := ...
return j }
f
v
Graphe de flot de contrôle
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
9
f( int i ) { j := ... if( Condition1 ) j := ...
if( Condition2 ) j := ...
return j }
f
v
v
f
Graphe de flot de contrôle
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
10
Test Structurel
Couvrir au moins toutes les branches (Modified Conditions Decision Criterium )
Tache difficile et pénible
Automatisation => Gain de temps et d ’argent
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
11
Génération « manuelle » de cas de test : exemple
f( int i ) { j := 2 if( i 16 ) j := j * i if( j > 8)
j := 0
return j }
f
t
t
f
valeur du paramètre i ?
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
12
f( int i ) { j := 2 if( i 16 ) j := j * i if( j > 8)
j := 0
return j }
valeur de i ?
J > 8supposons I > 16 I > 16 => J = 2 or J > 8 --> impossiblesoit I > 16 soit I 16--> I 16(I 16) => J = 2 * Ior J > 8 et I 16--> 4 < I 16 choix : I = 5
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
13
Principe
•Transformer le programme à tester en un système de contraintes.
•Utiliser la programmation par contraintes pour poser et résoudre des objectifs de test
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
14
Principe Technique
Entrees Sorties
+Point sélectionné
Programme à contraintes
Entrées Sorties+Requête
12 2
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
15
Modélisation d ’une affectation
i := i + 1 i2 = i1 + 1
f( int i ) { j := 2 if( i 16 ) j := j * i if( j > 8)
j := 0
return j }
Inconnue : i0
j0 = 2 if( i0 16 ) j1 = j0 * i0
j2 = j1
else j2 = j0
if( j2 > 8) j3 = 0
else j3 = j2
r = j3
Inconnue : r
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
16
Modélisation d ’une condition
Cond => j1 = j0* i0 j2 = j1
Cond => j2 = j0
(j1 = j0* i0 j2 = j1 ) => ( Cond j2 = j0 )
(j2 = j0 ) => ( Cond j1 = j0* i0 j2 = j1)
if( Cond )
j1 = j0* i0
j2 = j1 j2 = j0
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
17
Système de contraintes
Inconnue : i0
j0 = 2
i0 16 => (j1 = j0 * i0 j2 = j1)
i0 > 16 => j2 = j0
(j1 = j0* i0 j2 = j1 ) => (i0 > 16 j2 = j0)(j2 = j0 ) => (i0 16 j1 = j0* i0 j2 = j1)
j2 > 8 => j3 = 0 j2 8 => j3 = j2
(j3 = 0) => (j2 8 j3 = j2) (j3 = j2) => (j2 > 8 j3 = 0)
r = j3
Inconnue : r
Inconnue : i0
j0 = 2 if( i0 16 ) j1 = j0 * i0
j2 = j1
else j2 = j0
if( j2 > 8) j3 = 0
else j3 = j2
r = j3
Inconnue : r
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
18
Exploitation du système de contraintes
Inconnue : i0
j0 = 2 i0 16 => (j1 = j0 * i0 j2 = j1)
i0 > 16 => j2 = j0
(j1 = j0* i0 j2 = j1 ) => (i0 > 16 j2 = j0)(j2 = j0 ) => (i0 16 j1 = j0* i0 j2 = j1)
j2 > 8 => j3 = 0 j2 8 => j3 = j2
(j3 = 0) => (j2 8 j3 = j2) (j3 = j2) => (j2 > 8 j3 = 0)
r = j3
Inconnue : r
i0 = 18
i0 = 4
2 r 8
r = 12
r = 8
r = 2
impossible
1 i0 4
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
19
Sélection d’un point
Utilisation des dépendances de contrôle [Ferrante et al. TOPLAS’87]
= ensemble de conditions à vérifier
Condition4 Condition2 Condition1
Contraintes issues du Programme CLP
v
f
f
v
v
v
Condition1
Condition2
Condition4
Condition3
8
2
3
4
5 6
7
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
20
Génération de cas de test
f( int i ) { j := 2 if( i 16 ) j := j * i if( j > 8)
j := 0
return j }
Inconnue : i0
j0 = 2 i0 16 => (j1 = j0 * i0 j2 = j1)
i0 > 16 => j2 = j0
(j1 = j0* i0 j2 = j1 ) => (i0 > 16 j2 = j0)(j2 = j0 ) => (i0 16 j1 = j0* i0 j2 = j1)
j2 > 8 => j3 = 0 j2 8 => j3 = j2
(j3 = 0) => (j2 8 j3 = j2) (j3 = j2) => (j2 > 8 j3 = 0)
r = j3
Inconnue : r
J2 > 8
4 < i0 16
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
21
Projet INKA : Historique
1995 : Début de la Recherche sur les extensions du produit d’exécution de test DEVISOR ( Dassault Electronique)
1996 : Génération automatique de cas de test, basée sur l’utilisation de la Programmation par Contraintes [GL96]
1998 : Premier prototype pour C-, publications [ISSTA98, CL00]
2000 : Soutenance Thèse Arnaud Gotlieb
2000 : Labelisation RNTL pour industrialiser ces résultats
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
22
InKa : sous-projets
sp5 : Management (Thalès)
sp1 : Industrialisation (Axlog, Thalès)
sp2 : extension aux
flottants(I3S, Thalès)
sp3 : extension aux
structures dynamiques
(LIFC, Thalès)
sp4 : extension au
test d ’integration(LSR, Thalès)
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
23
Industrialisation : Version V1
•traite le langage C
•les types « entiers »
•les pointeurs sans allocation dynamique
•les structures, les tableaux
•visualisation de la couverture
•génération pour toutes_les_instructions , toutes_les_branches
•expression de contraintes sur les données de tests
•gestion des bouchons
•interface : import/export de jeux de tests au format XML
•…. UNE DEMO !
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
24
Extension aux flottants (problématique)I3S (Michel Rueher, Claude Michel),TSA
x := a + b <-----------------------------------------------------> X = A + B
calcul approximé <----------------------------------> résolution exacte
X in [Xi,Xs], A in [Ai,As], B in [Bi,Bs]
X <- A + B
A <- X - B (fausse)
B<- X - A (fausse)
on ne peut pas utiliser directement un solveur sur les réels
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
25
Extension aux flottants (résultats)
FP-Box-consistance : utilisation heuristique des algos de consistance sur les réels
FP-2B-consistance : adaptation spécifique de la consistance de bornes aux cas des flottants (étude des fonctions de projections directes et inverses pour les opérations arithmétiques et de conversion)
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
26
Extension aux structures dynamiques (problématique)LIFC (Legeard, Bouquet, Ambert, Gaspari, Parreaux)TSA
1 variable du programme <-------> 1 var log pour chaque modif.
Si modif via pointeur <------------------------------------> var logique ?
i:=i+1; ---------> I2=I1 +1
*p := 3; -----------> (*p)1=3 (impact sur i ?)
j:= i + 2; -----------> J1 = I? + 2
Ajout de contraintes gardées reposant sur l ’analyse statique des relations de pointage :
p pointe_vers i -> I3=3 ; I3=I2
p pointe_vers k -> K1=3; K1=K0
…
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
27
Extension aux structures dynamiques (résultats)
•Introduction d ’inconnues représentant un état de la mémoire = (ensemble de couples Adresse-Valeur)•Définition d ’une couche de contrainte intermédiaire (ajout, accès, maj) sur ces états
i:=i+1 -----------------------------------> acces(ad(i),M1,I1)
I2 = I1 + 1
maj(M2,M1,ad(i),I2)
*p:=3 -------------------------------------> acces(ad(p),M2,P1)
EP1 = 3
maj(M3,M2,P1,EP1),
j:=i + 2 ------------------------------------> acces(ad(i),M3,I3),
J4 = I3 + 2
maj(M4,M3,ad(j),J4)
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
28
Extension au test d’intégration (problématique)LSR (Ioannis Parissis, Karim-Cyril Griche)TSA
Test unitaire des fonctions de haut niveau en utilisant le code des fonctions de niveau inférieur
comment éviter l ’explosion d ’INKA?
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
29
Extension au test d’intégration (résultats)
1/ Utilisation du contexte d ’appel pour simplifier la fonction appelée
2/ Création automatique de modèles partiels d ’une fonction,
Affectation de poids caractéristiques du coût à ces modèles, Utilisation successive de ces modèles (à partir du moins coûteux)
3/Paramètrage du solveur d ’INKA pour limiter l ’utilisation du modèle d ’une fonction appelée lors de l ’évaluation des contraintes if et while
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
30
Poursuite du développement d ’INKA
Développement de la version V2 en cours
•intégration des extensions flottants et pointeurs•prise en compte de C++ (sauf aspects dynamiques, templates,..)•critère MC/DC•...
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
31
Autres applications de la modélisation du programme en contraintes
Projet DANOCOPS (label RNTL 2002) : Détection automatique de Non-Conformités Programme-Spécification
Automatic Metamorphic Testing, Gotlieb & Botella COMPSAC ’03
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
32
Le projet DANOCOPS
Programme
Système de contraintes
InKa
Spécifications
Système de contraintes Λ Confrontation
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
33
Danocops : Exemple Non-conformité d ’une méthode vis à vis d’un invariant
Soit un invariant Inv sur la classe C,
Soit une méthode F de la classe C,
On recherche :
S(Invavant) Λ S(F) Λ ¬S(Invaprès)
Trois possibilités :>Échoue pas de défaut
>Réussit cas de défaut
>Time Out ne sait pas
S(Invavant) Λ S(F) Λ S(Invaprès)
Trois possibilités :>Échoue que des défauts
>Réussit cas normal
>Time Out ne sait pas
ET
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
34
Automatic Metamorphic Testing
•Pas d ’oracle•Connaissance de propriétés du programme vis à vis de ses entrées
Exemple commutativité des entrées : min(X,Y) = min(Y,X)
Metamorphic Testing : choisir X et Y et vérifier la propriété.
Automatic Metamorphic Testing
Chercher X et Y tels que {R=min(X,Y) , R1=min(Y,X), R<>R1}
Echoue -> la propriété est vérifiée
Reussit -> cas de test provoquant une erreur dans le programme
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
35
INKA : A comparison
function trityp
Jtest / C++test Parasoft : 63 % in 30s
Inka prototype : 100% in 3s
(random generation : 86% in 30s)
THALES SYSTEMES AEROPORTES
Les
info
rmat
ions
con
tenu
es d
ans
ce d
ocum
ent
sont
la p
ropr
iété
exc
lusi
ve d
u G
roup
e T
hale
s. E
lles
ne d
oive
nt p
as ê
tre
divu
lgué
es s
ans
l'acc
ord
écrit
de
Tha
les
Sys
tèm
es A
érop
orté
s.
T10
406b
36Temps requis pour générer un cas de test
5
15
10
Temps CPU (sec)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Numérosommet
Aléatoire
+5h
Succès sur les sommets difficiles à atteindre
InKa
Programme Trityp.c