THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive...
-
Upload
leolin-page -
Category
Documents
-
view
108 -
download
1
Transcript of THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive...
![Page 1: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/1.jpg)
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)
![Page 2: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/2.jpg)
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
![Page 3: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/3.jpg)
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
![Page 4: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/4.jpg)
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
![Page 5: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/5.jpg)
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 ;
}
![Page 6: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/6.jpg)
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 }
![Page 7: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/7.jpg)
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
![Page 8: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/8.jpg)
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
![Page 9: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/9.jpg)
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
![Page 10: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/10.jpg)
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
![Page 11: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/11.jpg)
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 ?
![Page 12: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/12.jpg)
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
![Page 13: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/13.jpg)
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
![Page 14: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/14.jpg)
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
![Page 15: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/15.jpg)
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
![Page 16: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/16.jpg)
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
![Page 17: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/17.jpg)
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
![Page 18: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/18.jpg)
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
![Page 19: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/19.jpg)
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
![Page 20: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/20.jpg)
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
![Page 21: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/21.jpg)
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
![Page 22: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/22.jpg)
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)
![Page 23: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/23.jpg)
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 !
![Page 24: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/24.jpg)
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
![Page 25: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/25.jpg)
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)
![Page 26: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/26.jpg)
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
…
![Page 27: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/27.jpg)
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)
![Page 28: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/28.jpg)
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?
![Page 29: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/29.jpg)
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
![Page 30: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/30.jpg)
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•...
![Page 31: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/31.jpg)
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
![Page 32: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/32.jpg)
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
![Page 33: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/33.jpg)
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
![Page 34: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/34.jpg)
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
![Page 35: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/35.jpg)
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)
![Page 36: THALES SYSTEMES AEROPORTES Les informations contenues dans ce document sont la propriété exclusive du Groupe Thales. Elles ne doivent pas être divulguées.](https://reader036.fdocument.pub/reader036/viewer/2022081513/551d9d91497959293b8c7244/html5/thumbnails/36.jpg)
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