![Page 1: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/1.jpg)
1
Contribution à la génération automatique
de tests pour les systèmes réactifs
Thierry Jéron
Habilitation à diriger des recherches16 mars 2004
![Page 2: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/2.jpg)
2
Contexte: les systèmes réactifs
Exemples: protocoles télécom, systèmes embarqués, systèmes contrôle/commande, etc.
Complexité, répartition croissante, criticité
Nécessité de fiabilité / maîtrise des coûts
méthodes formelles
P1 P2
Env
![Page 3: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/3.jpg)
3
Env
Spécification comportementale: exemple du protocole du bit alterné
Transmitter Receiver
RQ(data) CNFIND(data)
w
s
d:=0b:=0
?RQ(d)/!DT(d,b)
br ≠ bit?ACK(br) /
!DT(d,b)
br = b?ACK(br) /
!CNFb:=1-b
b:=0
s
br = b?DT(d,br)
!IND(d)!ACK(b)b:=1-b
br ≠ bit?DT(d,br)
!IND(d)!ACK(b)b:=1-b
ACK(bit)
DT(data,bit)
Processus concurrents, communication (interne-externe), structure de contrôle, données. Langages de spécification : SDL, Lotos, UML, etc
![Page 4: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/4.jpg)
4
Sémantique : systèmes de transitions (LTS)
Spécification
comportementale
Spec
état: (localités, val(var), files)
état’: (localités, val(var), files)
action
Explosion combinatoire, voire infinitude (données, files)
Système de
transitions (LTS)
S = [[Spec]]simulation exhaustive
![Page 5: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/5.jpg)
5
Vérification et test
Propriété P (automate, logique)Vérification de modèle
S ⊨ P ?
Test: Imp conforme à S ?I conf S ?
Spécification Spec S = [[Spec]]comportementale
Implémentation Imp
Hyp: Imp modélisable par I
![Page 6: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/6.jpg)
6
Historique
Vérification à la volée
Non bornitudede files de CFSM
Génération de testssymbolique (IOSTS)(E. Zinovieva, 00->)
Modelchecking
Gen.test
(FSM)
Test et contrôle(V.Tschaen, 01->)
88 9291 93 9689 90 94 95 97 98 99 00 01 02 03 04
ADP AAR PAMPA VerTeCS
Véri
fica
tion
Test
de c
onfo
rmit
é &
O
bse
rvati
on
Repr. 3DLTS
Représentationmodel-checkingde syst. infinis
(YM Quemener,93-96)
Observation répartie
Génération de tests à la volée (IOLTS)(P. Morel, 96-00)
Test asynchrone
& réparti
Test et jeux
![Page 7: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/7.jpg)
7
Plan
1. Problématique du test
2. Génération de tests à la volée
3. Test asynchrone et réparti
4. Génération de tests symbolique
5. Bilan et perspectives
![Page 8: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/8.jpg)
8
1. Problématique du test Test = analyse dynamique de programmes pour détecter
des fautes par rapport à une spécification. ≠ vérification de modèle : exhaustivité impossible en pratique
Sélectionner les tests : à partir du code : test boîte blanche/structurel
à partir de la spécification : test boîte noire
Activité coûteuse et souvent artisanaleFormaliser est incontournable pour
Améliorer la qualité des tests Diminuer le coût du test
![Page 9: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/9.jpg)
9
Test de conformité de systèmes réactifsPb: tester qu’une implémentation I (boîte noire) est conforme
à sa spécification S (supposée correcte).
Spécification S
Implémentation I
I conf S ?
Verdict
Cas de testcontrôle
observation
Générateur de tests
Critères desélection
![Page 10: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/10.jpg)
10
2. Génération de tests à la volée[CAV96-99,SCP97-00,IWTCS96,Cfip97, IDPT02,TSI03, …]
Motivations: Éviter l’explosion combinatoire Traiter des systèmes non déterministes
Cadre théorique: Théorie du test des IOTS [Tretmans 95-96]
Origines: LTS [DeNicola-Henessy84, Abramsky87, Philips87, Brinksma88]
Contribution: Formalisation des objectifs de test Sélection de tests à la volée ← vérification à la volée
![Page 11: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/11.jpg)
11
Le modèle: les IOLTSIOLTS (input/output LTS) : ~ IOTS [Tretmans96], IOA [Lynch88]
sémantique de systèmes réactifs non-déterministes spécifications, implémentations, tests, objectifs
?A
?B
! Z
! Y! X
S non-déterminisme observable :Les entrées ne déterminent pas les sorties
non-contrôlabilité
non-déterminisme (au sens des automates)
incertitudesupprimé par déterminisation
?B
! X
![Page 12: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/12.jpg)
12
Comportements visibles par le testLe test permet de contrôler les entrées et
observer sorties et blocages (timers) distinguer les blocages spécifiés dans S des autres
⇒ calculer les blocages sur S
?A
?B
! Z
! Y
! X
S Comportementsvisibles de référence. Base pour définir la conformité
?A
?B
!Z
!Y!X
?B
Vis(S)=det((S))(S)Automate de suspension
![Page 13: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/13.jpg)
13
I
Relation de conformité Plusieurs choix possibles: inclusion, égalité de traces, de sorties, de refus,
etc
ioco [Tretmans96] : après un comportement visible de la spécification, l’implémentation n’est autorisé à produireque les sorties et blocages spécifiées
?A
?B
!Z
!Y!X
?B
! ?
Sorties, blocages non spécifiées ¬ (I ioco S)
Entrées non spécifiées
I ioco S
Spécification partielle
vis(S)
![Page 14: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/14.jpg)
14
Cas de test et exécutions
!A
?Y?X
TC
? Z
! BInconc
Fail
Pass
? otherwise?A
?B
!Z
!Y!X
?B
Vis(S)
Propriétés attendues des algorithmes de génération: Correction : I peut être rejetée par TC ⇒ ¬ (I ioco S)
Exhaustivité: ¬ (I ioco S) ⇒ on peut générer TC qui peut rejeter I
∥
?A
?B
!Z
!Y!X
?B
!X
I
Verdict: Fail, Pass, Inconc
![Page 15: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/15.jpg)
15
Principes de la génération de tests
S
(S)Calcul des blocages !
Déterminisation
Produit: intersectionde comportement
Sélection + Mirroir + Ajout des verdicts
Conflits de contrôlabilité
!z
*
Accept
!x
*
Objectif de test :
automate complet
TracesAccept(TP)TP
CTG
TC
Vis(S)
Vis(S)xTP
TC
Algorithme non-déterministe
[Tretmans96][Lestiennes-Gaudel02]
!A ?
!B!A?
X
![Page 16: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/16.jpg)
16
Étapes de la génération
AcceptPass reach(Init)
Inconc
!z
*
Accept
!x
*TP
?B
?A
?B
!Y
!X
!Z
SélectionVerdictsMirroir
CTG
Conflits de contrôlabilité
TC
reach(Init∩
coreach(Accept)
Init
!Z
?B
?otherwise
Fail
!B
!A
!B
?Y
?X
?Z
?A
?B
!Z
!Y!X
?B
Vis(S)) ?C
!Y
?C!Y
?C
!Y
?C!Y
Produit
Vis(S)xTP
![Page 17: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/17.jpg)
17
Propriétés des tests générés
Correction: possibilité de rejet non conformité
“Exhaustivité”: non-conformité possibilité de rejet
Tests arborescents ⇒ adaptés au non-déterminisme observable
![Page 18: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/18.jpg)
18
Génération à la voléeConstat : S très grand ou infini |S| |TC| ≫Idée: éviter de construire S
construction paresseuse de
S, (S), Vis(S), Vis(S)xTP,CTG
pilotée par TP
utilisation d’une représentation
implicite des IOLTS
algorithmes basés sur DFS
Cal
cul à
la v
olée
TP
CTG
S
(S)
TC
Spec
Vis(S)
![Page 19: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/19.jpg)
19
Implémentation: TGV Expérimentations
dans des domaines
variés.
Distribution: CADP,
Agedis
Transfert:
ObjectGéode
Objectifde test bcg, IF
API de Simulation(primitives parcours de S)
UmlautObjectGéode
Caesar
open
IFopen
SpecificationUML SDL Lotos IF
TGV CA
DP lib
Cas de test (bcg, aut, TTCN, )
![Page 20: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/20.jpg)
20
Résumé de la contribution Algorithmique de la génération de tests sur des
modèles énumérés
Fondée sur une théorie du test bien établie
Implémentation efficace: génération à la volée (TGV)
Largement publié
Transfert industriel (Telelogic)
![Page 21: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/21.jpg)
21
I
3. Test asynchrone et test réparti
testeur
?a !x ?b ?d ?c !y !z
!a ?x!b !d!c ?y?z!e !f
Problèmes : Test asynchrone :
distorsion ⇒ perte d’information Test réparti :
coordination concurrence
Contributions : Inversion de la distorsion
par estampillage [JJTV-FP99]
Distribution de testeur+ consensus [JJKV-FP98]
![Page 22: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/22.jpg)
22
4. Génération de tests symboliques[RBJ-IFM00, CJRZ-Tacas01, CJRZ-Esmart01,CJRZ-Esec01]
Motivations: Éviter l’explosion combinatoire ← données énumérées “Programmes” de test génériques (non instanciés)
Approche Modèle symbolique: IOSTS (~ autres modèles similaires)
Sémantique IOLTS ⇒ théorie du test identique
Génération symbolique:
S , TP ∈ IOSTS TC ∈ IOSTSSélection par utilisation de l’interprétation abstraite [Cousot77]
Exécution : Instanciation des entrées ← résolution de contraintes
![Page 23: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/23.jpg)
23
Modèle IOSTS
Begin
Idle
Pay
Choose
Price >0
Return
Delivery
paid:=0
v > 0Coin?(v)
paid:=paid+v
paid < Price ∧d = paid - Price
Return!(d)
paid ≥ Price ∧d=paid - Price
Return!(d) paid:=Price
p =paid Return!(p)
Cancel?
Cancel?
Choose?(b)vb:=b
b = vbDeliver!(b)
Variable propre/observée
Constantesymbolique
paramètrede communication
Localitésval(l)
S TP
S0
Accept
mb=COFFEEDeliver!(mb)
Reject
paid < Price
Return?(m)
true
conditionInitiale
Empty!(b)
¬(mb=COFFEE)
Deliver!(mb)
Cancel?
![Page 24: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/24.jpg)
24
Sémantique [[.]]: IOSTS IOLTS M [[M]]
(s0,1,0,0)(s0,1,0,1)(s0,1,0,2)(s0,1,0,3)(s0,2,0,0) (s0,2,0,1) (s0,2,0,2) (s0,2,0,3) ⊨
in?(1)
(2,s1,3,1)(2,s1,3,0) (2,s1,3,2) (2,s1,3,3)(2,s1,2,1)(2,s1,2,0) (2,s1,2,2) (2,s1,2,3)
in?(2)
s0
k>0
⌃ v1=0
s1
vo < k ⌃ x > 0 ⌃ (l=s0)in?(x) v1:= vo+ p; (l=s1)
Condition initiale
GardeAction(param.com.)Affectation
![Page 25: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/25.jpg)
25
Opérations syntaxiques dont la sémantique commute avec les opérations sur les IOLTS :
Produit: xs
Calcul des blocages: s
Déterminisation: dets
Vis(PS) = dets(s(S xsTP ))Traces([[ dets(s(S xsTP)) ]]) = Traces(det(([[ S ]] xe [[ TP ]]))
Sélection : reach, coreach non calculables de manière exacte⇒ sur-approximations reach et coreach
Génération symbolique
M
ops(M)
[[M]]
[[ops(M) ]]
[[.]]
[[.]]
opsop
op[[M]]=
![Page 26: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/26.jpg)
26
Conséquences de la sur-approximation
reach(∩
coreach(Accept)
Accept
reach()
?otherwise
Inconc
[[Vis(PS) ]] CTG
Fail
Sur-approximation[[CTG]]
Calcul exact ?
!
?
?
![Page 27: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/27.jpg)
27
Exemple: calcul du produit Begin
Idle
Pay
Choose
Price >0
Return Delivery
paid:=0
v > 0Coin?(v)
paid:=paid+v
paid < Price ∧d = paid - Price
Return!(d)
paid ≥ Price ∧d =paid - Price
Return!(d)paid:=Price
p =paid Return!(p)
Cancel?
Cancel?
Choose?(b)vb:=b
b=vbDeliver!(b)
S
TPS0
Accept
mb=COFFEEDeliver!(mb)
Reject
paid < PriceReturn!(m)
true
¬(mb=COFFEE)Deliver!(mb)
Begin,s0
Idle,s0
Pay,s0
Choose,s0
Price >0
Delivery,s0
paid:=0
v > 0Coin?(v)
paid:=paid+vpaid < Price ∧
d = paid - Price Return!(d)
paid ≥ Price ∧d =paid - Price
Return!(d) paid:=Price
Cancel?
Cancel?
Choose?(b)vb:=b
b=COFFEE∧ b=vb
Deliver!(b)
PS
IdleReject
ReturnReject
BeginAccept
¬(b=COFFEE)∧ b=vb
Deliver!(b)
BeginReject
Cancel?
Empty!(b)
Empty!(b)
![Page 28: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/28.jpg)
28
Sélection du graphe de test
Begin,s0
Pay,s0
Choose,s0
Price >0
Delivery,s0
v > 0Coin?(v) paid:=0+v
paid < Price ∧ d = paid - Price Return!(d)
paid ≥ Price ∧d =paid - PriceReturn!(d) paid:=Price
Cancel?paid:=0
Cancel?
Choose?(b)vb:=b
b=COFFEE∧ b=vbDeliver!(b)
Vis(PS)
IdleReject
ReturnReject
BeginAccept
¬(b=COFFEE)∧ b=vbDeliver!(b)
BeginReject
paid:=0
Idle,s0Cancel?
v > 0Coin?(v) paid:=paid+v
Empty!(b)
Begin,s0
Pay,s0
Choose,s0
Price >0
Delivery,s0
d =paid - PriceReturn?(d)paid:=Price
b=COFFEEChoose!(b)vb:=b
vb=COFFEE ∧ b=vbDeliver?(b)
Pass
paid:=0
Idle,s0
v ≥ PriceCoin!(v) paid:=v
v ≥ PriceCoin!(v) paid:=v
Fail
?otherwise
CTG
Inconc
vb= COFFEE∧ b=vb
Empty!(b)
?otherwise
![Page 29: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/29.jpg)
29
Exécution: instanciation des constantes et résolution des gardes
Begin,s0
Pay,s0
Choose,s0
Price >0
Delivery,s0
d =paid - PriceReturn?(d)
b=COFFEEChoose!(b)vb:=b
vb=COFFEE ∧ b=vbDeliver?(b)
Pass
paid:=0
Idle,s0
v ≥ PriceCoin!(v) paid:=v
v ≥ PriceCoin!(v) paid:=v
Fail
?otherwise
CTG
Inconc
vb= COFFEE∧ b=vb
Empty!(b)
?otherwise
Implémentation IPrice = 40
Coin!(50)
Return? (10) ?otherwise
Fail
Choose!(COFFEE)
Deliver?(COFFEE)
Empty?(COFFEE)
PassInconc
?otherwise
Résolutionv ≥ Price
![Page 30: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/30.jpg)
30
Outillage: STGGénération Opérations symboliques Analyse approchée par
interprétation abstraite (NBAC)
Exécution Compilation C++/Java Résolution de contraintes
(Omega)
Expérimentations : CEPS
Distribution : prévue fin 2004
IUT C++/Java
C++/JavaTest case
Test purposeSpecification
Générationde test
Compilation
dotty
Omegaverdict
NBAC
Test case
![Page 31: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/31.jpg)
31
Contributions à la génération de tests symbolique
Originalité :
Génération de « programmes » de test
Traitement de systèmes non-déterministes
Théorie indépendante de l’approximation
Cadre formel :
⇒ garantie de propriétés des tests : correction, « exhaustivité »
Outillage (STG) : génération et exécution
Publications
![Page 32: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/32.jpg)
32
5. BilanContribution originale à l’algorithmique de la
génération de tests Techniques énumératives à la volée Techniques symboliques Non déterminisme Asynchronisme et répartition
Cadre formel propriétés des tests
Outillage et expérimentations
Passage à l’échelle
![Page 33: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/33.jpg)
33
Travaux connexesModèles voisins :
FSM, EFSM (voir e.g. [Lee-Yannakakis 96]) contrôle et données
Autres techniques à base d’objectifs :
MSC [Grabowski et al 93]Utilisation de model-checkers (e.g. [Engels et al-97, Hong-Lee et al. 01])
limités dans le traitement du non-déterminisme
Autres techniques symboliques :
Simulation symbolique + résolution de contraintes (pb de chemins)
Smile [Eertink94] TVeda [Clatin et al. 95], Agatha [Lugato et al. 02],
Gatel [Marre], BZ-TT [Legeard et al]
+ spec algébriques [Gaudel-James99, Lestiennes-Gaudel02],
Abstractions: EFSM [Petrenko et al 99-04]
![Page 34: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/34.jpg)
34
Défis de la génération automatique de tests pour les systèmes réactifs
Accroître l’usage industriel des méthodes
formelles pour le test : ↗ qualité ↘ coûts
L’automatisation du test est un levier pour une meilleure
introduction des méthodes formelles dans l’industrie.
Passage à l’échelle de l’automatisation
traiter efficacement des systèmes plus complexes en taille
et expressivité
Méthodologies d’utilisation et de combinaison des
méthodes formelles
![Page 35: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/35.jpg)
35
Perspectives
Accroître l’expressivité des modèles :
contrôle, données, concurrence, communication, temps
Améliorer les critères de sélection :
objectifs, couverture, hypothèses de sélection
Combiner les techniques pour la génération de tests :
model-checking, preuve, analyse statique, interprétation abstraite,
résolution de contraintes, ordres partiels,
Combiner les méthodes de validation dans le
processus de développement :
Vérifications statiques, contrôle, test
![Page 36: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/36.jpg)
36
Quelques travaux en coursVérification et test de propriétés de sûreté
Tester violation d’une propriété de sûreté valide sur la spécification [RMTJJ-Testcom04]
Couverture en model-checking et génération de test [Hoskote et al. 99, Chockler et al. 01]
Propriétés couvrantes tests couvrants
Test de robustesse Tester la préservation de propriétés de sûreté en présence d’aléas
Contrôle et test Contrôler la conformité d’une implémentation
[JMRT-MSR03-CDC04-IJPR04]
![Page 37: 1 Contribution à la génération automatique de tests pour les systèmes réactifs Thierry Jéron Habilitation à diriger des recherches 16 mars 2004](https://reader036.vdocuments.pub/reader036/viewer/2022062511/551d9d9f497959293b8ccd03/html5/thumbnails/37.jpg)
37
Fin