• Aucun résultat trouvé

Chapitre 6 Études empiriques

N/A
N/A
Protected

Academic year: 2022

Partager "Chapitre 6 Études empiriques "

Copied!
28
0
0

Texte intégral

(1)

IFT3913

Qualité du logiciel et métriques

Chapitre 6 Études empiriques

Plan du cours

Introduction

Modèles de processus du développement du logiciel

Qualité du logiciel Théorie de la mesure

Mesure de la qualité du logiciel Études empiriques

Mesure du produit logiciel

Collection et analyse des métriques

(2)

3

Introduction

Nécessité d’avoir des modèles de prédiction de la qualité

Hétérogénéité des systèmes, des processus et des organisations

Absence de modèles de prédiction généraux Nécessité de mener des études empiriques pour adapter, valider ou construire des modèles de prédiction

4

Éléments d’une étude empirique

1.

Objectif de l’étude

2.

Conception

3.

Techniques de collecte de données

4.

Considérations pratiques

5.

Techniques d’analyse de données

6.

Application des résultats

(3)

5

Objectif de l’étude

Choisir le type d’étude

Définir et énoncer les hypothèses Définir et étudier les variables

Interpréter et généraliser les résultats

Choisir le type d’étude

Étude d’ensemble (sondage)

– Étude rétrospective d'une situation

– Comparaison avec des situations semblables

Étude de cas

– Technique qui consiste à

• identifier les facteurs principaux qui peuvent affecter les sorties d'une activité

• documenter l'activité: entrées, contraintes, ressources et sorties

Expérience

– Étude rigoureuse et contrôlée qui consiste à

• identifier les facteurs principaux qui peuvent affecter les résultats d'une activité

• Manipuler ces facteurs pour étudier leur impact sur les sorties

(4)

7

Choisir le type d’étude

Méthode scientifique

– Étude et acquisition de nouvelles

connaissances basées sur des preuves physiques

– Utilisation d’observations, d’hypothèses, de la logique pour expliquer des

phénomènes naturels par des théories – Prédictions des théories reproduisibles

par des expériences, développement de nouvelles technologies

8

Choisir le type d’étude

Expériences

– Ensemble d’actions et d’observations objectives réalisées pour résoudre un problème, répondre à une questions ou confirmer/réfuter une hypothèse sur un phénomène

– Sciences « dures » et « molles »

– Peut-on expliquer l’échec scolaire par la pauvreté ?

(5)

9

Choisir le type d’étude

Expériences contrôlées

– Comparaison des résultats d’une

expérience avec un groupe de contrôle (quasi-)identique sauf pour l’aspect sur lequel l’expérience porte

Ex. : « Ce calcul est plus lent avec le nouvel algorithme »

Ex. : « placebo et médicament »

Choisir le type d’étude

Expériences « naturelles »

– Aucune variable n’est manipulée – Observation (pas manipulation) de

variables quand toutes les autres variables restent constantes

Ex. : « Les soleils sont des nuages

d’hydrogène qui se sont effondrés sur

eux-mêmes »

(6)

11

Choisir le type d’étude

Quasi-expériences

– Impossible de tester physiquement (concrètement) les hypothèses

– Impossible de former un « vrai » groupe de contrôle pour des raisons pratiques (ou éthiques)

– Pas d’équivalence entre groupe d’étude et groupe de contrôle

Ex. : « Un vaccin contre le cancer »

12

Choisir le type d’étude

Étude de cas

– Étude en détails d’une seule occurrence d’un phénomène

• Cas

– Compréhension de pourquoi l’occurrence s’est produite comme elle s’est produite – Génération d’hypothèses, faible

généralisation

… Un exemple bien connu ?

(7)

13

Choisir le type d’étude

Étude de cas

– Illustration – Exploration

– Occurrence « critique »

– Implantation d’un programme (en général

☺)

– Effets d’un programme – Cumulation

Choisir le type d’étude

Étude d’ensemble/sondage/enquête

– Généraliser les données recensées sur quelques centaines d’occurrences à toutes les occurrences possibles

(8)

15

Choisir le type d’étude

Étude d’ensemble/sondage/enquête

0,5 IND 4,5 17,5

10,5 30,2

36,3 23/01

6,0 11,3

17,7 28,1

37,0 21/01

6,0 11,0

18,0 27,0

37,0 21/01

5,6 10,6

17,4 30,1

36,4 22/01

6,0 11,0

19,0 27,0

37,0 22/01

4,0 12,0

19,0 27,0

38,0 22/01

VERT BQ

NPD LIB

CON Dates

Sources : www.nodice.ca et www.elections.ca

16

Définir et énoncer les hypothèses

Le but de l’étude doit être clairement énoncé

– Hypothèses

Une hypothèse est

– Une prédiction consistant à mettre en relation une variable et un comportement (qui forment un phénomène)

– Une affirmation provisoire qui décrit ou explique un phénomène

– Une explication anticipée…

(9)

17

Définir et énoncer les hypothèses

Une hypothèse vient de

– Théories – Observations

– Données recueillies précédemment

Ex. : « Les programmes écrits en Java sont de meilleure qualité que ceux écrits en C »

Définir et énoncer les hypothèses

Les notions quantitatives doivent être claires et non ambiguës

Exemple :

– au lieu de formuler l’hypothèse « les programmes écrits en Java sont de meilleure qualité que ceux écrits en C » – utiliser par exemple l’hypothèse « les

programmes écrits en Java nécessitent moins d’effort de maintenance que ceux écrits en C »

(10)

19

Définir et énoncer les hypothèses

Une hypothèse particulière, l’hypothèse nulle

– Soutient des hypothèses alternatives

– « Il n’y a pas de phénomène », i.e., pas de relation entre une variable et un

comportement

Ex. : « il n’y a pas de différence entre développer en C et en Java »

20

Définir et énoncer les hypothèses

Signification statistique

– Confiance que le résultat d’une étude n’est pas le fruit du hasard

– Test statistique sur un ensemble de données, pour obtenir une probabilité, valeur p

La valeur p indique le degré de

confiance à accorder aux résultats

(11)

21

Définir et énoncer les hypothèses

p ≤ 0,05 (α = 0,05)

– Différence significative avec des résultats obtenus de manière aléatoire

– Résultats dus au hasard moins de 5 fois sur 100

Définir et étudier les variables

Une fois l’hypothèse définie, il faut décider quelles variables peuvent affecter sa vérité Il faut évaluer le degré de contrôle sur chaque variable.

La variable d’état ou variable indépendante est une variable qui peut être manipulée et qui caractérisera l’objet de l’étude et

influencera les résultats de l’étude

Les résultats de l’étude sont représentés par les valeurs des variables dépendantes

(12)

23

Définir et étudier les variables

Pour vérifier (ou non) l’hypothèse, il faut montrer sans ambiguïté la relation entre variables indépendantes et variables dépendantes

– Manipuler les variables indépendantes – Maîtriser toutes les autres variables

possibles

24

Définir et étudier les variables

Les variables sources de bruit – Variables inconnues

– Variables impossibles à maîtriser et–ou à manipuler

Ex. : « ambiance dans la compagnie, état d’esprit des développeurs »

Pour « éliminer » les variables parasites, essayer de maintenir leurs effets constants Ex. : « mesurer le travail des développeurs sur plusieurs jours représentatifs »

(13)

25

Définir et étudier les variables

Dans le cas d’une étude d’ensemble, on ne peut pas définir de variables

Dans le cas d’une étude de cas,les variables indépendantes prennent les valeurs typiques du cas

Dans le cas d’une expérience, un

échantillonnage est effectué en fonctions des variables indépendantes

Une expérience permet une meilleure

généralisation des résultats qu’une étude de cas

Interpréter et généraliser les résultats

Pour la confirmation de théories ou de croyances

– L’étude d’ensemble et l’étude de cas permettent de confirmer une théorie ou une croyance pour une organisation ou un cas

– L’expérience permet de confirmer une affirmation dans un cadre plus général

(14)

27

Interpréter et généraliser les résultats

Exploration de relations

– Une relation peut être suggérée par une étude de cas ou une étude d’ensemble – Une expérience peut évaluer le degré

d’une relation

28

Interpréter et généraliser les résultats

Évaluation de l'exactitude de modèles

– Les expériences peuvent confirmer ou réfuter l'exactitude de modèles

– Il faut cependant que le modèle n’influence pas la conception de l’expérience et en particulier l’échantillonnage

(15)

29

Étapes d’une étude empirique

1.

Objectif de l’étude

2.

Conception

3.

Techniques de collecte de données

4.

Considérations pratiques

5.

Techniques d’analyse de données

6.

Application des résultats

Expérience

Objectif : tester une hypothèse Définitions

– Les manipulations s'appellent traitement – Un essai unique est un cas

– Une expérience est ensemble d‘essais

– Les objets ou les unités expérimentaux sont les objets auxquels le traitement est appliqué

– Les personnes appliquant le traitement sont les sujets de l'expérience

– Le (ou les objets) de contrôle est un objet non concerné par le traitement et utilisé pour la comparaison,

– La réponse ou les variables dépendantes sont les facteurs qui sont supposés changer en raison de l'application du traitement.

– Les variables indépendantes sont les facteurs qui peuvent influencer l'application du traitement et donc indirectement

(16)

31

Expérience

Préparation

– Préparer les sujets à l’application du traitement

• Formation

• Instruction écrite

Déroulement

– Application du traitement aux objets selon le plan de l’expérience

32

Expérience

Analyse – Deux étapes

• Valider les mesures prises lors de l’expérience

• Analyser en utilisant des outils statistiques les données récolter pour confirmer ou réfuter l’hypothèse

Diffusion et prise de décision

– Les conclusions doivent être suffisamment

commentées pour permettre à des tiers de répéter l’expérience

– Trois utilisations des résultats

• Mettre en œuvre les changements suggérés

• Application des changement à une échelle plus grande

• Conduire des expériences plus précise pour aboutir à des résultats plus précis

(17)

33

Étapes d’une étude empirique

1.

Objectif de l’étude

2.

Conception

3.

Techniques de collecte de données

4.

Considérations pratiques

5.

Techniques d’analyse de données

6.

Application des résultats

Techniques de collectes de données

Sélection des sujets/objets

– Échantillonnage aléatoire simple

• Éléments choisis aléatoirement dans une liste – Échantillonnage systématique

• Premier élément choisi aléatoirement

• Reste de l’échantillon constitué du n éléments suivants

(18)

35

Techniques de collectes de données

Sélection des sujets/objet

– Échantillonnage stratifié aléatoire

• La population est divisée en « strates »

• Les strates ont une distribution connue

• Échantillonnage aléatoire utilisé dans chaque strate

– Échantillonnage de commodité

• Les éléments disponibles sont utilisés

36

Techniques de collectes de données

Sélection des sujets

– Méthode des quotas

• Sujets choisis dans différentes catégories de la population

• Critères socio-démographiques, ex. : sexe, âge, catégorie socio-professionnelle, type de commune, région…

• Plus rapide (sujets interchangeables dans une même catégorie)

• Marge d’erreur impossible à calculer mais en pratique, proche des échantillons aléatoires

(19)

37

Techniques de collectes de données

Marge d’erreur

– Élections aux États-Unis d’Amérique en 2004, sondage du 2 october 2004 par Newsweek

• Kerry : 47%

• Bush : 45%

• Nader : 2%

auprès d’un échantillon aléatoire simple de 1 013 personnes

Techniques de collectes de données

– Écart-type pour Kerry, p = 0,47 et N = 1 013

Écart-type = = 0,16

– ± 1 écart-type ⇒ intervalle de confiance de 68%

– ± 2 écart-type ⇒ intervalle de confiance de 95%

– ± 2,58 écart-type ⇒intervalle de 99%

(20)

39

Techniques de collectes de données

– Marge d’erreur à 99% calculée pour p = 0,5 est

– Borne supérieure à l’intervalle de

confiance lorsque p = 0,5, cet intervalle diminue lorsque pdiminue (ou augmente) – La marge d’erreur change avec p!

40

Techniques de collectes de données

Format des données

– Préférer les formats textuelles simples au format binaires complexes…

– CSV (et ARFF) – XML

– Binaires (Excel et autres…)

(21)

41

Techniques de collectes de données

CSV

Comma Separated Value

– Standard industriel de facto(Microsoft Excel)

– Format des données : ASCII (Unicode possible)

– Données enregistrées en ligne, séparée par des virgules, avec possiblement des guillemets

Techniques de collectes de données

CSV

– Sémantique des données codée à

l’extérieur du fichier CSV, dépendant des programmes

Element,CBO,DIT,NOC,WMC,Roles E1,12,3,3,45,1

E2,23,1,0,89,0 E3,8,2,5,36,1

(22)

43

Techniques de collectes de données

ARFF

Attribute-Relation File Format – Similaire à CSV, en-têtes

@RELATION Metrics-Roles

@ATTRIBUTE CBO REAL

@ATTRIBUTE DIT REAL

@ATTRIBUTE NOC REAL

@ATTRIBUTE WMC REAL

@ATTRIBUTE Roles {0,1}

@DATA 12,3,3,45,1 23,1,0,89,0 8,2,5,36,1

44

Techniques de collectes de données

XML

eXtensible Markup Language

– Très à la mode dans l’industrie et la recherche

– Format de données : Unicode

– Données enregistrées dans un arbre

(23)

45

Techniques de collectes de données

XML

– Représentation sous forme d’ arbre intuitive

– (Très) Verbeux

– Syntaxe autorisée définie dans une DTD (Document Type Definition)

– Sémantique codée sous la forme de noms

Techniques de collectes de données

XML

<?xml version="1.0" encoding="UTF-8"?>

<DssDocument>

<ObjectProperties>

<Prop>

<PropName>CBO</PropName>

<ProType>double</ProType>

</Prop>

<Prop>

<PropName>DIT</PropName>

<ProType>double</ProType>

</Prop>

<Prop>

<PropName>NOC</PropName>

<ProType>double</ProType>

</Prop>

<Prop>

<PropName>WMC</PropName>

<ProType>double</ProType>

</Prop>

</ObjectProperties>

<Objects>

<Object>

<Name>Jama.Matrix</Name>

<Type>Class</Type>

<ObjectProperties>

<Prop>

<PropName>CBO</PropName>

<ProValue>3.0</ProValue>

</Prop>

<Prop>

<PropName>DIT</PropName>

<ProValue>1.0</ProValue>

</Prop>

<Prop>

<PropName>NOC</PropName>

<ProValue>0.0</ProValue>

</Prop>

<Prop>

<PropName>WMC</PropName>

<ProValue>362.0</ProValue>

</Prop>

(24)

47

Techniques de collectes de données

Binaires

– Propriétaires la plupart du temps

– Impossibles à lire pour un être humain – Nécessitent une définition du format – Compacts

– « Sûres »

48

Techniques de collectes de données

Binaires

ÐÏࡱá > þÿ ? þÿÿÿ

ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ É€ á °Á â \ p Yann-Gaël Guéhéneuc À = œ ¯ ¼ = h < y ß 8 u @

" · Ú 1 È ÿ A r i a l 1 È ÿ A r i a l 1 È ÿ A r i a l 1 È ÿ A r i a l 1 È ÿ A r i a l 1 ð ÿ ¼ A r i a l 1 È A r i a l 1 È $ A r i a l 1 È ÿ¼ A r i a l 1 È A r i a l 3 # , # # 0 \

" ¬ " ; \ - # , # # 0 \ " ¬ " = # , # # 0 \ " ¬ " ; [ R e d ] \ - # , # # 0 \ " ¬ " ? # , # # 0 . 0 0 \ " ¬ " ; \ - # ,

# # 0 . 0 0 \ " ¬" I " # , # # 0 . 0 0 \ " ¬ " ; [ R e d ] \ -# , # # 0 . 0 0 \ " ¬ " q * 6 _ - * # , # # 0 \ " ¬ " _ - ; -\ - * # , # # 0 \ " ¬ " _ - ; _ - * " - " \ " ¬ " _ - ; _ - @ -_ - k ) 3 _ - * # , # # 0 \ _ ¬ _ - ; \ - * # , # # 0 \ _ ¬ - _ - ; _ - * " - " \ _ ¬ _ - ; _ - @ _ - , > _ - * # , # #

(25)

49

Étapes d’une étude empirique

1.

Objectif de l’étude

2.

Conception

3.

Techniques de collecte de données

4.

Considérations pratiques

5.

Techniques d’analyse de données

6.

Application des résultats

Considérations pratiques

Analyse

– Valider les mesures prises lors de l’expérience

– Analyser en utilisant des outils statistiques les données récolter pour confirmer ou réfuter l’hypothèse

Diffusion et prise de décision

– Les conclusions doivent être suffisamment commentées pour permettre à des tiers de répéter l’expérience – Trois utilisations des résultats

• Mettre en œuvre les changements suggérés

• Application des changement à une échelle plus grande

• Conduire des expériences plus précise pour des résultats plus précis

(26)

51

Considérations pratiques

Erreurs types

– Erreurs d'expérimentation – Erreurs d'observation – Erreurs de mesure

– Variation des ressources expérimentales – Effets combinés de variables non explicitement

pris en compte Remèdes

– Répéter l’expérience plutôt que la mesure – Utiliser une approche aléatoire pour éviter les

biais

52

Considérations pratiques

Des facteurs peuvent limiter les possibilités

d’interpréter et de tirer des conclusions des résultas Trois types de validité peuvent être affectés

– Validité de conclusion qui signifie que les conclusions tirées sont uniquement le résultat de l’impact des traitements sur les sorties

– Validité de construction qui signifie que les variables indépendantes et dépendantes modélisent adéquatement les hypothèses

– Validité interne qui signifie que les changements dans la variable dépendante peuvent être raisonnablement attribués aux changements dans les variables indépendantes

– Validité externe qui signifie que les résultats de l’études peuvent être généralisables à des cas qui ne sont pas inclus dans l’étude

(27)

53

Étapes d’une étude empirique

1.

Objectif de l’étude

2.

Conception

3.

Techniques de collecte de données

4.

Considérations pratiques

5.

Techniques d’analyse de données

6.

Application des résultats

Techniques d’analyse des données

Expérimentations ⇒ données

– Nombre de fautes par inspections…

– Valeurs de dizaine de métriques…

– Valeurs de métriques sur différentes versions…

Corrélations Règles

(Cf. chapitre 7)

(28)

55

Exemple

Voir étude empirique

C. Calero, H. Sahraoui, M. Piattini, An Empirical Study with Metrics for Object- Relational Databases, In the proc. of the 7th European Conference on Software Quality (ECSQ’02), 2002.

Références

Documents relatifs

et, par suite, cette relation subsistera pour tout point de S, puisque N' et SD' sont holomorphes dans S.. ÉTUDE SUR LES SÉRIES ENTIÈRES, ETC. — Souf[z^ ..., z^ une/onction uniforme

— Les mêmes choses étant posées qu'au début du 11° 17, sauf en ce qui concerne la -fonction (3(y), qui, dans la proposition actuelle, n'a pas à intervenir, pour que l'on puisse,

Pour engendrer un tableau de réponse en (0,1), nous reprenons, en termes généraux, ce qui a été fait au §2. En fait, l'analyse portera exclusivement sur le tableau de BURT, qui

– “C’est un mot correctement formé, qui se trouve même dans le Littré comme adjectif, désignant Dieu qui met de l’ordre dans le monde. Un mot de ce genre a l’avantage de

On suppose que ces trois nombres sont les mesures des côtés d'un triangle TAS rectangle en A.. Calcule les mesures dans angles aigus

On suppose que ces trois nombres sont les mesures des côtés d'un triangle TAS rectangle en A.. Calcule les mesures dans angles aigus

• Même chose pour le crédit fournisseurs : s’il se rallonge, ce peut être l’indice que l’entreprise, en bonne santé, bénéficie d’un pouvoir de négo- ciation et obtient de

Entre 1708 et 1718, on découvre aussi la loi multinomiale (généralisation multi-dimensionnelle de la loi binomiale), la loi binomiale négative ainsi que l’approximation de la