• Aucun résultat trouvé

Collecte et analyse des métriques

N/A
N/A
Protected

Academic year: 2022

Partager "Collecte et analyse des métriques"

Copied!
17
0
0

Texte intégral

(1)

IFT3913

Qualité du logiciel et métriques

Chapitre 8

Collecte et analyse des métriques

2

Plan du cours

„

Introduction

„

Modèles de processus du développement du logiciel

„

Théorie de la mesure

„

Qualité du logiciel

„

Mesure de la qualité du logiciel

„

Études empiriques

„

Mesure du produit logiciel

„

Collecte et analyse des métriques

(2)

3

Introduction

„

L’analyse des métriques est l’étape cruciale d’une étude empirique

„

La capacité de généralisation dépend – De l’échantillon

– Des techniques d’analyse

„

Il existe plusieurs techniques d’analyse

„

Nous nous intéressons, dans ce chapitre, à celles qui concernent l’exploration de

relations

Techniques d’analyse d’une variable (métrique)

„

Diagramme de boîte (Box plot) – Boîte à moustaches

– Il permet de visualiser graphiquement des

données statistiques (médiane, quartiles, limites), ainsi que les valeurs extrêmes

Limite inférieure

Limite supérieure Quartile

inférieur

Quartile supérieur Médiane

X Point extrême

(3)

5

Techniques d’analyse d’une variable (métrique)

„

Diagramme de boîte – Soit la médiane m,

• Le quartile supérieur uest la médiane des valeurs plus grandes que m

• Le quartile inférieur l est la médiane des valeurs plus petites que m

• La longueur de la boîte dest d = u – l

• Les limites déterminent l’intervalle théorique à l’intérieur duquel doivent se trouver tous les points

• La limite supérieure sest s =u + 1.5d

• La limite inférieure iest i =l - 1.5d (sii est inférieur à la valeur minimale possible pour la variable (min), alorsi = min)

• Les valeurs supérieures àset inférieures ài sont appelées points extrêmes

6

Techniques d’analyse d’une variable (métrique)

„

Diagramme de boîte – Exemple

systemes KLOC MOD FD

A 10 15 36

B 23 43 22

C 26 61 15

D 31 10 33

E 31 43 15

F 40 57 13

G 47 58 22

H 52 65 16

I 54 50 15

J 67 60 18

K 70 50 10

L 75 96 34

M 83 51 16

N 83 61 18

P 100 32 12

Q 110 78 20

R 200 48 21

l = 31

m = 54

u = 83

d = u - l = 52 s = u +1,5d = 161 i = l -1,5d = 0 (-47)

0 50 100 150 200

R X

31 54 83 161

KLOC

KLOC

(4)

7

Techniques d’analyse d’une variable (métrique)

„

Diagramme de nuage de points

– Permet de visualiser les données pour identifier des régularités ou des tendances possibles

– L’axe des abscisses représente les numéros des objets étudiés et l’axe des ordonnées la valeurs de la variable étudiée

– Exemple densité de fautes (FD)

FD

0 5 10 15 20 25 30 35 40

0 5 10 15 20

FD 22

A D L

Techniques d’analyse d’une relation entre 2 variables

„

Diagramme de nuage de points

– Contrairement au diagramme de boîte, il permet également de visualiser la relation entre deux variables

– La variable indépendante est représentée

par l’axe des abscisses et la variable

dépendante par l’axe des ordonnées

– Il suggère l’existence d’une relation

(5)

9

Techniques d’analyse d’une relation entre 2 variables

„

Diagramme de nuage de points

– Exemple

Taille module Fautes module

29 0

29 2

32 1

33 1

37 1

41 4

55 2

64 0

69 1

101 5

120 6

164 11

205 11

232 11

236 12

270 17

549 16

0 2 4 6 8 10 12 14 16 18

0 100 200 300 400 500 600

Taille m odule (LOC)

Fautes par module

10

Techniques d’analyse d’une relation entre 2 variables

„

Mesure d’association

– Coefficient de corrélation de Pearson (r)

• Le diagramme de nuage de point peut suggérer

l’existence d’une relation entre 2 variables mais ne peut fournir la preuve d’une telle existence

• Pour les variables normalement distribuées (ou presque), rest une bonne mesure d’association

r est toujours compris entre –1 et 1

• Si r= 1, alors les 2 variables ont une parfaite corrélation linéaire positive

• Si r= -1, alors les 2 variables ont une parfaite corrélation linéaire négative

• Si r= 0, alors les 2 variables n’ont pas de relation

(6)

11

Techniques d’analyse d’une relation entre 2 variables

„

Mesure d’association

– Coefficient de corrélation de Pearson (r)

• Corrélation linéaire entre 1 000 pairs de nombres

• Corrélation maximale sur la diagonale

Techniques d’analyse d’une relation entre 2 variables

„

Mesure d’association

– Coefficient de corrélation de Pearson (r)

• Soient xet ydeux variables. Pour un objet logiciel i, nous avons la paire de valeurs (xi, yi)

• Soient mxet myles moyennes respectives des xiset yis

• Le coefficient de corrélation de Pearson est calculé comme suit

=

=

=

=

n

i

y i n

i

x i n

i

y i x i

m y m

x

m y m x r

1

2 1

2 1

) (

) (

) )(

(

(7)

13

Techniques d’analyse d’une relation entre 2 variables

„

Mesure d’association

– Coefficient de corrélation de Pearson (r)

• Exemple

Taille module Fautes module

29 0

29 2

32 1

33 1

37 1

41 4

55 2

64 0

69 1

101 5

120 6

164 11

205 11

232 11

236 12

270 17

549 16

88 . 23.26 0 542.24

11082.29 23.26 )

(

542.24 )

(

11082.29 )

)(

( 94 . 5 133.29

17

1

2 17

1

2 17

1

×

=

=

=

=

=

=

r

m y

m x

m y m x m m

i

y i i

x i i

y i x i y x

14

Techniques d’analyse d’une relation entre 2 variables

„

Corrélation robuste

– Coefficient de corrélation de rang de Spearman (ρ)

• En général, les valeurs de métriques sont rarement normalement distribuées

• Dans ce cas, le coefficient de corrélation de rang de Spearman (ρ) est une bonne mesure

• Il est calculé de la même façon que le coefficient r mais en remplaçons les valeurs des variables par leurs rangs

• L’Intervalle des valeurs ainsi que leur interprétation sont les même que pour r

(8)

15

Techniques d’analyse d’une relation entre 2 variables

„

Corrélation robuste

– Coefficient de corrélation de rang de Spearman (ρ)

• Soient rxiet ryiles rangs des valeurs xiet yiet mrxet mryles moyennes respectives des rxis et ryis

• ρest calculé comme suit

• Après des simplifications, ρpeut être calculer simplement comme suit

=

=

=

= n

i

ry i n

i

rx i n

i

ry i rx i

m ry m

rx

m ry m rx

1

2 1

2 1

) (

) (

) )(

( ρ

( )

i i i

n

i i

ry rx d

n n

d

=

− −

=

=

avec

1 6 1 21

2

ρ

Techniques d’analyse d’une relation entre 2 variables

„

Corrélation robuste

– Coefficient de corrélation de rang de Spearman (ρ) – Exemple

TM FM Rang(TM) Rang(FM)

29 0 1.5 1.5

29 2 1.5 7.5

32 1 3 4.5

33 1 4 4.5

37 1 5 4.5

41 4 5 9

55 2 7 7.5

64 0 8 1.5

69 1 9 4.5

101 5 10 10

120 6 11 11

164 11 12 13

205 11 13 13

232 11 14 13

236 12 15 15

270 17 16 17

85 .

= 0

ρ

(9)

17

Techniques d’analyse d’une relation entre 2 variables

„

Régression linéaire

– Jusqu’à présent, nous avons réussi à

• Identifier une relation en utilisant le diagramme de nuage de points

• Mesurer sa force en utilisant les coefficients de corrélation

– Ce qui reste à faire et de déterminer la nature exacte de cette relation

– La régression permet d’exprimer une relation sous forme d’une fonction linéaire

bx a y = +

18

Techniques d’analyse d’une relation entre 2 variables

„

Régression linéaire

– L’idée est de tracer une droit passant le plus prêt par tous les points (digramme de nuage de points) – Le choix de la droite dépend des résidus

– Un résidu est la distance qui sépare verticalement un point de la droite

0 2 4 6 8 10 12 14 16 18

0 100 200 300 400 500 600

Taille m odule (LOC)

Fautes par module

Module (164,11)

Résidu du module (164,11)

(10)

19

Techniques d’analyse d’une relation entre 2 variables

„

Régression linéaire

– Pour un point i, le résidu est exprimé comme suit – La droite de régression est obtenu par la

minimisations des erreurs (carrés des résidus) – Les coefficient a et b sont donc

i i

i y – a – bx r =

x y

n

i

x i n

i

y i x i

am m b

m x

m y m x a

=

=

=

=

1

2 1

) (

) )(

(

Techniques d’analyse d’une relation entre 2 variables

„

Régression linéaire

– Exemple (y = fautes par module, x = taille de module)

• b = 0.037 (facteur d’influence de la taille)

• a = 0.917 (facteur constant)

0 2 4 6 8 10 12 14 16 18

0 100 200 300 400 500 600

Série1 y=0.917 + 0.037x

(11)

21

Techniques d’analyse d’une relation entre 2 variables

„

Régression linéaire

– Les points extrêmes peuvent influencer significativement l’estimation de a et b

– Par exemple, si on ne considère pas le module (549, 16), nous obtenons une droite significativement différente

0 2 4 6 8 10 12 14 16 18

0 100 200 300 400 500 600

Série1

22

Techniques avancées

„

En général, les modèles sont construits automatiquement à partir de données empiriques (données historiques)

– TDIDT et fuzzy TDIDT – Neuro

– Neuro-fuzzy

– Classificateurs bayesiens

„

Parfois, ils résultent de la connaissance des experts

„

Ils peuvent aussi être hybrides

– Systèmes à base de règles étendus

– Réseaux bayésiens

(12)

23

Arbres de décision

ƒ « Top-Down induction of decision tree » (TDIDT) crée des arbres de décision binaires qui associent les valeurs de plusieurs attributs avec des classes d’intérêt

NOP <= 0.5

NOM <= 100.5

NOM <= 21

0

PMI <= 52%

0

NOM <= 17 1

0 1

NOD <= 6

PMI <= 49.5%

PMO <= 6%

1 0

NOP <= 0.5

NOM <= 100.5

NOM <= 21

0

PMI <= 52%

0

NOM <= 17 1

0 1

NOD <= 6

PMI <= 49.5%

PMO <= 6%

1 0

0 1

Arbres de décision

ƒ TDIDT

Algorithme :

1. Créer un nœud racine et considérer tous les exemples dans l’ensemble d’apprentissage

2. Identifier l’attribut le plus discriminant pour séparer les classes

3. Créer deux sous nœuds et y répartir les exemples selon l’attribut trouvé

4. S’il ne reste plus d’attribut, stop ;

sinon, aller à l’étape 2 pour chaque sous nœud

(13)

25

Arbres de décision

ƒ TDIDT

Le critère de discrimination :

C4.5 : L’attribut le plus informatif est celui avec la plus grande entropie. Pour deux ou plusieurs classes qui se partagent un ensemble d’attributs {A

k

}:

H(A

k

) = -p (i) log(p(i))

où p(i) est la probabilité que l’attribut A

k

possède la valeur i dans l’ensemble d’apprentissage.

Avantage : Dérivation d’arbres compacts avec une grande capacité de classification lorsque les données se prêtent au groupement.

26

Axone Synapse

Dendrite s

Synapse Axone

Dendrite s Noyau

Corps de la cellule

Composants d'un neurone

Net = + u X1

X2

Xn ...

W 1 W 2

W n Poids Synaptiques

Activatio n

Fonction d’

Activation

Sorti e

= n

i i iX W 1

Fct (Net)

Entrées O

W0 = u X0

Couche d'entrée

Couche cachée

Couche de sortie Types de connexion

connexion supra couches

connexion inter couches connexion

intra couches

auto connexion

Réseaux de neurones

„

Principe

(14)

27 Ajustement des poids en fonction de l’erreur

E= (Désiré-Obtenu)

Entrées

Sorties Sorties Obtenues Désirées

Réseaux de neurones

„

Exemple d’architecture

„ Le perceptron multicouches

„

Principe

– Soit un cas e

k

={A

1

=a

1k

, …, A

m

=a

mk

}, la probabilité que ce cas soit de classe c

j

est définie comme suit (théorème de Bayes)

– Le cas est associé avec la classe qui présente la plus grande probabilité

Classificateurs bayésiens

) (

) ( )

| ) (

| (

k j j k k

j

p e

c p c e e p

c

p =

(15)

29

ƒ Exemple

ƒ Dérivation de la classe

Les probabilités p(aik | cj) et p(cj) sont calculées à partir de l’échantillon

Classificateurs bayésiens

TS (1 . 3) (3 . 5) (5 . 10) (10 . 17.5) DRT 0 1 2 3 0 0.095 0.129 0.405 0.371 0 0.371 0.198 0.164 0.267 1 0.507 0.279 0.107 0.107 1 0.307 0.364 0.250 0.079

RD 0 1 2 3 4 5

0 0.351 0.316 0.075 0.109 0.075 0.075 1 0.290 0.262 0.348 0.033 0.033 0.033

∑ ∏ ∏

= =

=

c = 1 h

m 1

k ik h h

m 1

k ik j j

k

j

p ( a / c ) p ( c )

) c ( p ) c / a ( ) p

e / c ( p

30

Réseaux bayésiens

„

Caractérisés par : – La structure

• Elle ne peut être obtenue automatiquement en général,

• Elle est produite par des experts

– Les paramètres du réseau (probabilités conditionnelles)

• Ils peuvent être obtenus à partir de données historiques en utilisant le théorème de Bayes

A

D C

B

P(D) P(C)

P(B|D)

P(A|B,C)

(16)

31

Réseaux bayésiens

„

Exemple

–Table des probabilités pour le nœud "faults in test/review"

Résonnement à base de cas (CBR)

„

Le cycle d’un CBR

(d’après Aamodt & Plaza, 1994)

(17)

33

Résonnement à base de cas (CBR)

„

La représentation structurée des cas

– Les éléments logiciels à évaluer sont des objets – Les métriques sont les attributs de ces objets

„

L’évaluation de la qualité – Trouver un élément logiciel

ayant une représentation (signature numérique) similaire à l’élément évalué – Technique : k-Nearest

Neighbour utilisant une mesure de similarité

34

Résonnement à base de cas (CBR) Calcul de similarité

„

Exemple de calcul de similarité (distance de Manhattan)

– Niveau local (métrique):

• Pour chaque métrique Mi, le facteur de similarité entre deux cas x et y est défini par

– Niveau global (cas)

ßireprésente le poids d’une métriqueMi ) (

. 1 .

) . , . (

i i i i

i domM

M y M M x

y M x

sim

=

p

M y M x y sim

x Sim

p i

i i i i

==

= 1 ( . , . ) )

,

( β

Références

Documents relatifs

Si deux variables sont statistiquement indépendantes (aucun lien), la corrélation est nulle, mais l’inverse est faux : il peut exister un lien autre que linéaire entre elles...

Mira de Béjaia Année universitaire 2019-2020 Faculté des Sciences Exactes Examen de Topologie1. Département de Mathématiques Durée : 1 heure

Si l'on avait demandé une équation finale contenant M, t et les dérivées de u par rapport à t, on aurait préparé les équations de manière qu'elles continssent les mêmes va-

Il est evident que les constantes de fx montent dans ce produit à une dimension marquée par le nombre des racines ou par le degré de l'équation y(x) = 0; ainsi, comme ce qu'on dit

- On étudie les conséquences d’une relation de domination d’un processus adapté positif et continu à droite par un processus

On a introduit ( [ 10]) la notion d’homogénéité du transfert entre deux distributions p et q d’une variable ordonnée : c’est le cas dans lequel l’ordre de

Le graphique semble indiquer une association entre les variables poids et taille: une plus grande taille semble correspondre en moyenne ` a un plus grand poids2. Une fa¸con

Autre manière de voir : lorsque l'on calcule les eectifs cumulés croissants, la médiane est la plus petite valeur du caractère qui fait atteindre ou dépasser la moitié de