1 IFT3913 Qualité du logiciel et métriques Chapitre 6 Études empiriques 2 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
28
Embed
IFT3913 Qualité du logiciel et métriques Chapitre 6igt.net/~ngrenon/UdeM/cours/IFT3913/Notes/06_etudes_empiriques.pdf · 1 IFT3913 Qualité du logiciel et métriques Chapitre 6
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
IFT3913Qualité du logiciel et métriques
Chapitre 6Études empiriques
2
Plan du cours
IntroductionModèles de processus du développement du logicielQualité du logicielThéorie de la mesureMesure de la qualité du logicielÉtudes empiriquesMesure du produit logicielCollection 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 organisationsAbsence 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’étude2. Conception3. Techniques de collecte de données4. Considérations pratiques5. Techniques d’analyse de données6. Application des résultats
3
5
Objectif de l’étude
Choisir le type d’étudeDéfinir et énoncer les hypothèsesDéfinir et étudier les variablesInterpréter et généraliser les résultats
6
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 »
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 »
18
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
22
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’étudeLes 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 à
manipulerEx. : « ambiance dans la compagnie, état d’esprit des développeurs »Pour « éliminer » les variables parasites, essayer de maintenir leurs effets constantsEx. : « 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 variablesDans le cas d’une étude de cas,les variables indépendantes prennent les valeurs typiques du casDans le cas d’une expérience, un échantillonnage est effectué en fonctions des variables indépendantesUne expérience permet une meilleure généralisation des résultats qu’une étude de cas
26
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’étude2. Conception3. Techniques de collecte de données4. Considérations pratiques5. Techniques d’analyse de données6. Application des résultats
30
ExpérienceObjectif : tester une hypothèseDé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 les résultats de l'expérience
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érienceAnalyse– 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’étude2. Conception3. Techniques de collecte de données4. Considérations pratiques5. Techniques d’analyse de données6. Application des résultats
34
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
38
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 p diminue (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
42
Techniques de collectes de données
CSV– Sémantique des données codée à
l’extérieur du fichier CSV, dépendant des programmes
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 È � ÿ�¼
1. Objectif de l’étude2. Conception3. Techniques de collecte de données4. Considérations pratiques5. Techniques d’analyse de données6. Application des résultats
50
Considérations pratiquesAnalyse– 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 pratiquesDes facteurs peuvent limiter les possibilités d’interpréter et de tirer des conclusions des résultasTrois 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’étude2. Conception3. Techniques de collecte de données4. Considérations pratiques5. Techniques d’analyse de données6. Application des résultats
54
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élationsRè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.