IFT393 Qualté du logcel et métrques Chaptre 7 Collecte et aalyse des métrques Pla du cours Itroducto Qualté du logcel Théore de la mesure Mesure du produt logcel Mesure de la qualté du logcel Études emprques Collecte et aalyse des métrques Test du logcel
I. Itroducto L aalyse des métrques est l étape crucale d ue étude emprque La capacté de gééralsato déped De l échatllo Des techques d aalyse Il exste pluseurs techques d aalyse Nous ous téressos, das ce chaptre, prcpalemet à celles qu coceret l explorato de relatos 3 II. Techques d aalyse d ue varable (métrque) Dagramme de boîte (Box plot) Boîte à moustaches Il permet de vsualser graphquemet des doées statstques (médae, quartles, lmtes), as que les valeurs extrêmes Lmte féreure Quartle féreur Médae Quartle supéreur Lmte supéreure X Pot extrême 4
II. Techques d aalyse d ue varable (métrque) Dagramme de boîte Sot la médae m, Le quartle supéreur u est la médae des valeurs plus grades que m Le quartle féreur l est la médae des valeurs plus pettes que m La logueur de la boîte d est d = u l Les lmtes détermet l tervalle théorque à l téreur duquel dovet se trouver tous les pots La lmte supéreure s est s = u +.5d La lmte féreure est = l -.5d (s est féreur à la valeur mmale possble pour la varable (m), alors = m) Les valeurs supéreures à s et féreures à sot appelées pots extrêmes 5 II. Techques d aalyse d ue varable (métrque) Dagramme de boîte Exemple systemes KLOC MOD FD A 5 36 B 3 43 C 6 6 5 D 3 33 E 3 43 5 F 4 57 3 G 47 58 H 5 65 6 I 54 5 5 J 67 6 8 K 7 5 L 75 96 34 M 83 5 6 N 83 6 8 P 3 Q 78 R 48 KLOC l = 3 m = 54 u = 83 d = u - l = 5 s = u +,5d = 6 = l -,5d = (-47) 3 54 83 6 KLOC 5 5 6 R X 3
Techques d aalyse d ue varable (métrque) Dagramme de uage de pots Permet de vsualser les doées pour detfer des régulartés ou des tedaces possbles L axe des abscsses représete les uméros des objets étudés et l axe des ordoées les valeurs de la varable étudée Exemple desté de fautes (FD) FD A D L 4 35 3 5 5 5 5 5 FD 7 Techques d aalyse d ue relato etre varables Dagramme de uage de pots Cotraremet au dagramme de boîte, l permet égalemet de vsualser la relato etre deux varables La varable dépedate est représetée par l axe des abscsses et la varable dépedate par l axe des ordoées Il suggère l exstece d ue relato 8 4
Techques d aalyse d ue relato etre varables Dagramme de uage de pots Exemple Talle module Fautes module 9 9 3 33 37 4 4 55 64 69 5 6 64 5 3 36 7 7 549 6 Fautes par module 8 6 4 8 6 4 3 4 5 6 Talle module (LOC) 9 Techques d aalyse d ue relato etre varables Mesure d assocato Coeffcet de corrélato de Pearso (r) Le dagramme de uage de pot peut suggérer l exstece d ue relato etre varables, mas e peut fourr la preuve d ue telle exstece Pour les varables ormalemet dstrbuées (ou presque), r est ue boe mesure d assocato r est toujours comprs etre et S r =, alors les varables ot ue parfate corrélato léare postve S r = -, alors les varables ot ue parfate corrélato léare égatve S r =, alors les varables ot pas de relato 5
Techques d aalyse d ue relato etre varables Mesure d assocato Coeffcet de corrélato de Pearso (r) Corrélato léare etre pars de ombres Corrélato maxmale sur la dagoale Techques d aalyse d ue relato etre varables Mesure d assocato Coeffcet de corrélato de Pearso (r) Sot x et y deux varables. Pour u objet logcel, ous avos la pare de valeurs (x, y ) Sot m x et m y les moyees respectves des x s et y s Le coeffcet de corrélato de Pearso est calculé comme sut r = = = ( x m ( x m ) x x )( y m ) = y ( y m ) y 6
Techques d aalyse d ue relato etre varables Mesure d assocato Coeffcet de corrélato de Pearso (r) Exemple Talle module Fautes module 9 9 3 33 37 4 4 55 64 69 5 6 64 5 3 36 7 7 549 6 m = 33.9 7 x m = 5.94 y ( x m )( y m ) = 8.9 7 7 ( x m ) ( y m ) x x y = 54.4 = 3.6 8.9 r =.88 54.4 3.6 y 3 Techques d aalyse d ue relato etre varables Corrélato robuste Coeffcet de corrélato de rag de Spearma (ρ) E gééral, les valeurs de métrques sot raremet ormalemet dstrbuées Das ce cas, le coeffcet de corrélato de rag de Spearma (ρ) est ue boe mesure Il est calculé de la même faço que le coeffcet r, mas e remplaços les valeurs des varables par leurs rags L Itervalle des valeurs as que leur terprétato sot les mêmes que pour r 4 7
Techques d aalyse d ue relato etre varables Corrélato robuste Coeffcet de corrélato de rag de Spearma (ρ) Sot rx et ry les rags des valeurs x et y et m rx et m ry les moyees respectves des rx s et ry s ρ est calculé comme sut ( rx mrx )( ry mry ) = ρ = Après des smplfcatos, ρ peut être calculer smplemet comme sut 6 d = ρ = ( ) avec d = rx ry = ( rx m ) rx = ( ry m ) ry 5 Techques d aalyse d ue relato etre varables Corrélato robuste Coeffcet de corrélato de rag de Spearma (ρ) Exemple TM FM Rag(TM) Rag(FM) 9.5.5 9.5 7.5 3 3 4.5 33 4 4.5 37 5 4.5 4 4 5 9 55 7 7.5 64 8.5 69 9 4.5 5 6 64 3 5 3 3 3 4 3 36 5 5 7 7 6 7 549 6 7 6 ρ =.85 6 8
Techques d aalyse d ue relato etre varables Régresso léare Jusqu à préset, ous avos réuss à Idetfer ue relato e utlsat le dagramme de uage de pots Mesurer sa force e utlsat les coeffcets de corrélato Ce qu reste à fare et de détermer la ature exacte de cette relato La régresso permet d exprmer ue relato sous forme d ue focto léare y = a + bx 7 Techques d aalyse d ue relato etre varables Régresso léare L dée est de tracer ue drote passat le plus prêt par tous les pots (dgramme de uage de pots) Le chox de la drote déped des résdus U résdu est la dstace qu sépare vertcalemet u pot de la drote Module (64,) Résdu du module (64,) Fautes par module 8 6 4 8 6 4 3 4 5 6 Talle module (LOC) 8 9
Techques d aalyse d ue relato etre varables Régresso léare Pour u pot, le résdu est exprmé comme sut r = y a bx La drote de régresso est obteue par la mmsato des erreurs (carrés des résdus) Les coeffcets a et b sot doc b = = a = m y ( x m )( y m ) = bm x x ( x m ) x y 9 Techques d aalyse d ue relato etre varables Régresso léare Exemple (y = fautes par module, x = talle de module) b =.37 (facteur d fluece de la talle) a =.97 (facteur costat) 8 6 4 y=.97 +.37x 8 6 4 3 4 5 6 Sére
Techques d aalyse d ue relato etre varables Régresso léare Les pots extrêmes peuvet fluecer sgfcatvemet l estmato de a et b Par exemple, s o e cosdère pas le module (549, 6), ous obteos ue drote sgfcatvemet dfférete 8 6 4 8 6 4 3 4 5 6 Sére Techques avacées E gééral, les modèles sot costruts automatquemet à partr de doées emprques (doées hstorques) TDIDT et fuzzy TDIDT Neuro Neuro-fuzzy Classfcateurs bayéses Parfos, ls résultet de la coassace des experts Ils peuvet auss être hybrdes Systèmes à base de règles étedus Réseaux bayéses
Arbres de décso «Top-Dow ducto of decso tree» (TDIDT) crée des arbres de décso bares qu assocet les valeurs de pluseurs attrbuts avec des classes d térêt NOP <=.5 NOM <=.5 NOD <= 6 NOM <= PMI <= 49.5% PMO <= 6% NOM <= 7 PMI <= 5% 3 Arbres de décso TDIDT Algorthme :. Créer u œud race et cosdérer tous les exemples das l esemble d appretssage. Idetfer l attrbut le plus dscrmat pour séparer les classes 3. Créer deux sous œuds et y répartr les exemples selo l attrbut trouvé 4. S l e reste plus d attrbut, stop ; so, aller à l étape pour chaque sous œud 4
Arbres de décso TDIDT Le crtère de dscrmato : C4.5 : L attrbut le plus formatf est celu avec la plus grade etrope. Pour deux ou pluseurs classes qu se partaget u esemble d attrbuts {A k }: H(A k ) = - p () log(p()) où p() est la probablté que l attrbut A k possède la valeur das l esemble d appretssage. Avatage : Dérvato d arbres compacts avec ue grade capacté de classfcato lorsque les doées se prêtet au groupemet. 5 Réseaux de euroes Prcpe Noyau Corps de la cellule Axoe Axoe Syapse Dedrte s Dedrte s Composats d'u euroe Syapse Pods Syaptques W X Actvato Focto d Actvato Sort e coexo tra couches coexo supra couches Etrées X X X W Net = + u... W X = W W = u Fct (Net) O auto coexo Couche Couche Couche d'etrée cachée de sorte Types de coexo coexo ter couches 6 3
Réseaux de euroes Exemple d archtecture Le perceptro multcouches Ajustemet des pods e focto de l erreur E= (Désré-Obteu) Etrées Sortes Obteues Sortes Désrées 7 Classfcateurs bayéses Prcpe Sot u cas e k ={A =a k,, A m =a mk }, la probablté que ce cas sot de classe c j est défe comme sut (théorème de Bayes) p( e p ( c e ) = j k c p( e ) p( c Le cas est assocé avec la classe qu présete la plus grade probablté k j k ) j ) 8 4
Classfcateurs bayéses Exemple TS (. 3) (3. 5) (5. ) (. 7.5) DRT 3.95.9.45.37.37.98.64.67.57.79.7.7.37.364.5.79 RD 3 4 5.35.36.75.9.75.75.9.6.348.33.33.33 Dérvato de la classe p( c j / e k ) m k = = c p( a m h= k = k p( a / c k j ) p( c / c h j ) ) p( c h ) Les probabltés p(a k l échatllo c j ) et p(c j ) sot calculées à partr de 9 Réseaux bayéses Caractérsés par : La structure Elle e peut être obteue automatquemet e gééral, Elle est produte par des experts Les paramètres du réseau (probabltés codtoelles) Ils peuvet être obteus à partr de doées hstorques e utlsat le théorème de Bayes P(B D) B D P(D) P(A B,C) A C P(C) 3 5
Réseaux bayéses Exemple Table des probabltés pour le œud "faults test/revew" 3 Résoemet à base de cas (CBR) Le cycle d u CBR (d après Aamodt & Plaza, 994) 3 6
Résoemet à base de cas (CBR) La représetato structurée des cas Les élémets logcels à évaluer sot des objets Les métrques sot les attrbuts de ces objets L évaluato de la qualté Trouver u élémet logcel ayat ue représetato (sgature umérque) smlare à l élémet évalué Techque : k-nearest Neghbour utlsat ue mesure de smlarté 33 Résoemet à base de cas (CBR) Calcul de smlarté Exemple de calcul de smlarté (dstace de Mahatta) Nveau local (métrque): Pour chaque métrque M, le facteur de smlarté etre deux cas x et y est déf par Nveau global (cas) x. M y. M sm( x. M, y. M ) = dom( M ) Sm( x, y) p = = = ß représete le pods d ue métrque M β sm( x. M, y. M ) p 34 7