52
Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe “Programmation et Génie Logiciel”, L.R.I. Co-encadrants: M.-C. Gaudel et A. Denise

Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

Embed Size (px)

Citation preview

Page 1: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

Utilisation des Structures Combinatoires

pour le Test Statistique

Sandrine-Dominique GOURAUDÉquipe “Programmation et Génie Logiciel”, L.R.I.

Co-encadrants: M.-C. Gaudel et A. Denise

Page 2: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

2

Plan

Contexte Structures combinatoires Test statistique et qualité de test

Nouvelle approche du test statistique Tirer des chemins Optimiser la qualité de test

Validation de l’approche Le prototype AuGuSTe Résultats expérimentaux

Bilan et Perspectives

Page 3: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

Contexte

Page 4: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

4

Les structures combinatoires décomposables

La spécification de structures combinatoires consiste en un ensemble de règles de production construites à partir: d’objets de base: ε (de taille 0) et atome (de taille 1) d’opérateurs: union(+), produit(x), sequence, etc. de contraintes de cardinalité

Exemples: Arbre binaire complet non vide: A= F+ AxA

où F est l’atome de base représentant une feuille Séquence de 3 à 5 feuilles: S= Sequence(F,Card=3..5)

Page 5: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

5

Les structures combinatoires décomposables

Résultats théoriques sur la génération aléatoire uniforme de telles structures [Flajolet,Zimmermann,VanCutsem,1994]

Complexité en n*log n pour des structures combinatoires de taille n

Complexité linéaire dans certains cas particuliers Outils disponibles pour l’environnement MuPAD:

Le package CS [Corteel, Denise,Dutour,Sarron,Zimmermann] Le package MuPAD-Combinat [Thiery & al]

Page 6: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

6

Le test de logiciel

Objectif: trouver des fautes/erreurs dans les programmes

Comment? En exécutant le programme sur un ensemble de données qu’on appelle jeu de test.

Les difficultés: Trouver les bons jeux de test Exécution et dépouillement Quand arrêter les tests (critère)?

Page 7: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

7

Sélection d’un jeu de test?

Le test fonctionnel (boîte noire): sélection basée sur une spécification du systèmeCe que le système devrait faire…

Le test structurel (boîte de verre): sélection basée sur le programme i.e. on s’intéresse à différents chemins d’exécutionCe que le programme fait et comment

Le test statistique (ou aléatoire): sélection aléatoire (uniforme ou opérationnelle) dans le domaine des entrées du programme

Page 8: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

8

Sélection d’un jeu de test structurel/fonctionnel

Pour sélectionner un jeu de tests, on part:D’une modélisation du système/programmeD’un critère de test adapté à cette modélisation

Exemples: Spécification algébriques / Couverture des axiomes Système à transitions étiquetées / Couverture des

arcs Texte du programme / Couverture des instructions

Page 9: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

9

Exemple: estTrie(tab,t)

Spécification: le programme prend en entrée un tableau tab d’au plus 6 entiers et un nombre 0≤ t ≤6.

Si les t premières valeurs du tableau tab sont triés en ordre croissant, alors il retourne vrai.

Si les t premières valeurs du tableau tab ne sont pas triés en ordre croissant, alors il retourne faux.

Page 10: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

10

Exemple: estTrie

bool estTrie (tab: array 0..5 of int, t: int){ int i:=0; bool rep:=true; if (t≤0) then rep:= true; else{

while ((i<t+1) and rep){ rep:= tab[i]≤tab[i+1]; i:= i+1; } } return rep;}

INIT

EXIT

I0

C1

I2

I5

I4B3

Page 11: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

11

Pourquoi le test statistique?

Avantages: Possibilité de faire du test plus intensif qu’avec

les autres méthodes

Inconvénients: Mauvaise couverture des cas particuliers (ex:

cas d’exception)

Solution? Le combiner avec une autre méthode de test

[Thévenod-Fosse,Waeselynck,1991].

Page 12: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

12

Qualité d’un test statistique [TF,Wa]

Soit E l’ensemble des éléments à couvrir N le nombre de tests

La qualité de test qN est la probabilité minimale d’un élément de E d’être couvert lors des N tests

qqNN =1-(1- p =1-(1- pminmin))NN

où pmin = min{p(e), eE}

Pour maximiser qN, il faut maximiser pmin

Une solution (pas toujours possible):

Tirage uniforme dans E

Page 13: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

13

Relation entre N et qN [TF,Wa]

qqNN =1-(1- p =1-(1- pminmin))NN

Si je choisis de faire N tests, quelle sera ma qualité de test qN?

Si je désire atteindre une qualité de test qN, combien de tests suis-je censé effectuer?

Avec pmin{0,1}

)min1log(

)1log(

p

qNN

Page 14: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

14

Le test Statistique Structurel [TF,Wa]

Construction d’une distribution sur le domaine des entrées qui: Maximise la qualité de test donc la probabilité minimale

d’atteindre un élément du critère de couverture structurel considéré

N’écarte aucun point du domaine d’entrée Avantages:

Bons résultats expérimentaux Inconvénients:

Distribution déterminée de manière empirique dans certains cas

Page 15: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

15

Objectif de cette thèse

Méthode de test statistique: qui s’applique à différents types de modélisation

représentable sous forme de graphes, qui optimise la qualité de test par rapport à un

critère donné, qui est automatisée

Apport possible des structures combinatoires pour le test

Page 16: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

Nouvelle approche pour le Test Statistique

Page 17: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

17

Nouvelle approche pour le Test Statistique

Tirage aléatoire de cheminsTirage aléatoire de chemins

L’ensemble des chemins d’un graphe peut se représenter facilement sous forme d’une spécification de structures combinatoires

Génération aléatoire de complexité linéaire

2 étapes:1) Tirer un ensemble de chemins adéquat2) Passer des chemins aux données d’entrée qui

permettent de les parcourir

Page 18: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

18

Test et structures combinatoires

Première étape:Tirer un ensemble de chemins

tel que la qualité de test soit optimale

Remarque: Idéalement, tirage parmi tous les chemins du graphe. En pratique, tirage dans un sous-ensemble de chemins:

la présence de circuits dans le graphe implique une infinité de chemins.

En pratique, on limite la longueur n des chemins.

Page 19: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

19

Exemple: quel n choisir?

Longueur du chemin élémentaire le plus long: 7

Choix de n pour la suite: 11 Nombre de passages dans la boucle

entre 0 et 3

5 chemins de longueur ≤11 à considérer

INIT

EXIT

I0

C1

I2

I5

I4B3

2

3 5

46

1

7

Page 20: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

20

Graphe et structure combinatoire

Atomes= arcs

Séquence d’arcs= chemin

S= v.S + v.e0.C.e7

C= e1.e2 + e3.B.e6

B= e4.I + ε

I= e5.B

INIT

EXIT

I0

C1

I2

I5

I4B3

v

e1

e2

v

e0

e3e5

e4

e6

e7

S C

Page 21: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

21

Génération: dénombrement

0 1 2 3 4 5 6 7 8 9 10 11

C 0 0 2 0 1 0 1 0 1 0 1 0

B 1 0 1 0 1 0 1 0 1 0 1 0

I 0 1 0 1 0 1 0 1 0 1 0 1

S 0 0 0 0 0 2 2 3 3 4 4 5

3 chemins issus de S de longueur 7

Page 22: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

22

Génération: tirage

Longueur=7

INIT

EXIT

I0

C1

I2

I5

I4B3

v

e1

e2

v

e0

e3e5

e4

e6

e7vvve0e1e2e7 vvve0e3e6e7 ve0e3e4e5e6e7

S7

vS6 ve0C4e7

ve0e3B2e6e7vvS5

vvve0C2e7

S= v.S + v.e0.C.e7

C= e1.e2 + e3.B.e6

B= e4.I + εI= e5.B

vve0C3e7

vvvS3

? ?

1

1

0

0

1

2/3 1/3

1/21/2

Page 23: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

23

Si le critère consiste à couvrir un ensemble de chemins : on construit la structure combinatoire correspondante

Exemples: tous les chemins passant par l’arc a,tous les chemins passant par le sommet B3 puis par le sommet I4…

Si le critère consiste à couvrir un ensemble d’éléments quelconque : ???

Exemples:tous les sommets, tous les arcs …

Comment un tirage uniforme parmi des chemins peut-il assurer une bonne qualité de test pour une couverture d’autres éléments?

Page 24: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

24

Tirage de chemins

Soit N le nombre de tests à générer.

1. Tirer aléatoirement, selon une distribution adéquate, N éléments e1,…,eN parmi les éléments à couvrir

2. Pour chaque ei, tirer aléatoirement et uniformément un chemin (de longueur ≤ n) parmi ceux qui passent par ei.

Page 25: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

25

Exemple:

Critère: tous les sommets carrés S={I2,I0,I4,I5} 5 chemins de longueur 11. Distribution uniforme

p(I2)= 1/4 +1/41/5 +1/40 +1/41/5 =7/20 = 0.35

De même: p(I4)=11/20, p(I0)=1, p(I5)=1

pmin=p(I2)= 0.35

On n’obtient pas le pmin optimal !

INIT

EXIT

I0

C1

I2

I5

I4B3

Page 26: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

26

Exemple:

Critère: tous les sommets carrésS={I2,I4}5 chemins de longueur 11.Distribution uniforme

pmin=0.5

Comment pourrais-je maximiser automatiquement le pmin?

INIT

EXIT

I0

C1

I2

I5

I4B3

Page 27: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

27

Probabilité d’un élément

La probabilité p(e) d’un élément e d’être atteint lors d’une exécution est:

p(e)=p1(e)+p2(e) Probabilité de tirer l’élément (étape 1): p1(e) Un chemin passant par cet élément a été tiré (étape 2):

où e’ est l’élément qui a été tiré (étape 1),

c(e’) est le nombre de chemins passant par e’

c(e,e’) est le nombre de chemins passant par e et e’

e'e)'(1)'c(

)',c()(2 ep

eee

ep

Page 28: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

28

Calcul des c(e,e’): exemple de c(B3,I4)

On en déduit la structure combinatoire puis la fonction de dénombrement

INIT

EXIT

I0

C1

I5

I4B3

v

v

e0

e3

e5

e4

e6

e7

X

INIT

EXIT

I0

C1

I5

I4B3

v

v

e0

e3

e5

e4

e6

e7

B3 I4e5

e4A

A

e4

Page 29: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

29

Une manière de définir la distribution

Pour optimiser la qualité de test, il faut maximiser pmin.

Or pour tout e de E,

e'e)'(1)'c(

)',c()(1min ep

eee

epp

Page 30: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

30

Maximiser pmin sous les contraintes

On résout ce problème d’optimisation par un simplex et on en déduit les p1(ei).

)(1...)2(1)1(11

)(1)(

),(...)1(1)1(

)1,(min

...

)(1)(

),1(...)1(1)1(

)1,1(min

e Epepep

e Epe Ec

e Ee Ecep

ec

ee Ecp

e Epe Ec

e Eecep

eceec

p

Spmin=

Page 31: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

31

Exemple:

Critère: tous les sommets carrés Distribution uniforme pour les

chemins 5 chemins de longueur 11.

21

)4(1

21

)2(1

21

min

Ip

Ip

p

INIT

EXIT

I0

C1

I2

I5

I4B3

Page 32: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

32

Des chemins aux entrées

Deuxième étape:

Déterminer les entrées permettant

d’exécuter les chemins tirés

Construction des prédicats associés aux chemins tirés (algorithme classique).

Résolution des prédicats (problème indécidable dans le cas général)

Page 33: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

33

Exemple: Spécification: t[0..6] Chemin I0-C1-I2-I5 Prédicat calculé: t≤0

Ce chemin est faisable Entrées possibles:

t=0 tab arbitraires

Chemin I0-C1-B3-I5 Prédicat calculé: (t>0) (t≤-1)

Ce chemin est infaisable

I0

C1

I2

I5

I4B3

I0

C1

I2

I5

I4B3

Page 34: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

34

Des chemins aux entrées

Plusieurs cas possibles pour la résolution de chaque prédicat:

1. Le prédicat a une solution: c’est notre donnée de test

2. Le prédicat n’a pas de solution: le chemin associé est infaisable

3. Le prédicat est indéterminé

Le calcul théorique des p1(ei) ne prend pas en compte les chemins infaisables

Page 35: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

Validation de l’approche

Page 36: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

36

Application au test statistique structurel

Modèle: graphe de contrôle du programme Critères:

Tous les chemins de longueur ≤n Tous les enchaînements Toutes les instructions

Un prototype: AuGuSTe1

Version 1: distribution basée sur les dominances Version 2: distribution basée sur la résolution du

système linéaire

1: Automated Generation of Statistical Tests

Page 37: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

37

AuGuSTeÀ partir du programme P, on construit la spécification combinatoire du graphe de contrôleConstruction de l’ensemble des éléments à tirer en fonction de CPour chaque élément, construire l’ensemble des chemins passant par cet élémentDéterminer la distribution sur les éléments

Tirage des N élémentsTirage des N chemins de longueur inférieure ou égale à n

Construction des prédicats associés aux chemins tirésRésolution randomisée des prédicats associés aux chemins

Echec?Oui Non

Ensemble de données de test

P,C,N,n

Page 38: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

38

Les expériences

Objectifs: valider l’approche Comparer à l’approche du LAAS Évaluer la stabilité Passage à l’échelle possible?

Comment? En utilisant les programmes et les mutants fournis par le

LAAS Plus de 10000 exécutions réalisées sur plus 2900

mutants

Page 39: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

39

Les programmes

Nom #lignes #chemins #blocs #arcs #choix

Fct1 30 17 14 24 5

Fct2 43 9 12 20 4

Fct3 135 33 (14) 19 41 12

Fct4 77 infini 19 41 12

Page 40: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

40

Évaluation par mutation des méthodes de test

Principe: détecter le maximum de mutants « non équivalents »

La proportion de mutants détectés est appelée score de mutation

La notion d’équivalence dépend en partie de l’environnement d’exécution des testsExemple: présence de variables non initialisées

Mutants équivalents différents

Page 41: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

41

Les programmes et leurs mutants

Nom #mutants #mutants équivalents

Fct1 265 14

Fct2 548 6+9

Fct3 1416 21+30

Fct4 587 9+9

Page 42: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

42

Les programmes et leurs mutants

Nom #mutants #mutants équivalents

Fct1 265 14+3

Fct2 548 6+9

Fct3 1416 21+30+16

Fct4 587 9+9+49

Page 43: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

43

Critère de couverture, qN et N

Nom Critère choisi #tests

Fct1 Tous les chemins 170

Fct2 Tous les chemins 80

Fct3 Tous les chemins 5x405

Fct4 Tous les enchaînements 5x850

Qualité de test visée: 0.9999 Fct3 et Fct4: pour s’assurer de la stabilité, il y a

5 séries de tests.

Page 44: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

44

Résultats pour Fct1, Fct2 et Fct3

Score de mutation

Uniforme LAAS AuGuSTe

Fct1 1 1 1

Fct2 1 1 1

Fct3

Min 0.55 1 0.9951

Moy 0.698 1 0.9989

Max 0.85 1 1

Fct3: Reflète la dépendance vis-à-vis de l’environnement Lié aux variables non initialisées détectables par un bon compilateur

Page 45: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

45

Graphe de contrôle de FCT4

Choix de n?n6+1219 soit n234

Soit plus de 1030 chemins à considérerPrésence d’un nombre considérable de chemins infaisables

Page 46: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

46

Première expérience avec Fct4… 1020 chemins dont 99,98% de chemins infaisables AuGuSTe (v1):

pmin=0.5 Mais en pratique tous les enchaînements ne

sont pas couverts AuGuSTe (v2):

pmin=0.5 Mais en pratique, tous les enchaînements ne

sont pas couverts Distribution sur les éléments tirage uniforme

parmi les chemins

Page 47: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

47

Graphe équilibré

=> Tirage uniforme parmi

les chemins

Deux sous-graphes indépendants mauvaise couverture

Idée: Transformation automatique de la structure combinatoire

pmin

Page 48: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

48

Résultats pour Fct4: expérience 2

Environ 1016 chemins de longueur ≤234 Environ 50% de chemins infaisables AuGuSTe (v1): pmin =0.3324

Mais en pratique, tous les enchaînements ne sont pas forcément couverts

AuGuSTe (v2): pmin =0.4923 En pratique, tous les enchaînements sont couverts

Uniforme LAAS AuGuSTe(v1) AuGuSTe(v2)

Min 0.895 0.9898 0.9726 0.9854

Moy Nc 0.9901 0.9773 0.9854

Max 0.915 0.9915 0.9854 0.9854

Sco

re d

e m

utat

ion

Page 49: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

Bilan et Perspectives

Page 50: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

50

ContributionPremière utilisation des méthodes de tirage

uniforme dans les structures combinatoires pour le test de logiciel Définition une méthode générale et automatisée

pour le test statistique Importante campagne d’expériences

Expériences aux résultats positifs: Efficacité comparable à celle du LAAS et

automatisation Approche stable Passage à l’échelle possible

Page 51: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

51

Perspectives (1/2)

Adapter/améliorer la distribution des p1(ei) en fonction des différents problèmes rencontrés: Les chemins infaisables

Méthodes d’apprentissage [Sebag & al]Méthodes probabilistes [Maume & al]

Borner la longueur des chemins peut masquer des erreurs

Méthode Boltzmann [Duchon,Flajolet,Louchard,Schaeffer,2002]

Prendre en compte plus d’aspects sémantiquesExemple: les cas exceptionnels doivent-ils être autant testés que les

cas standards?

Page 52: Utilisation des Structures Combinatoires pour le Test Statistique Sandrine-Dominique GOURAUD Équipe Programmation et Génie Logiciel, L.R.I. Co-encadrants:

52

Perspectives (2/2)

Mieux exploiter les structures combinatoires pour limiter les chemins infaisables Analyse statique

Meilleure distribution

Application à d’autres techniques Test statistique fonctionnel Model checking