Etudes empiriques sur l’evolution de la qualite logicielle
description
Transcript of Etudes empiriques sur l’evolution de la qualite logicielle
Études empiriques sur l’évolution de la qualité logicielle
Tom Mens, Leandro Doctors {tom.mens | leandro.doctors}@umons.ac.be
Naji Habra, Benoît Vanderose, Flora Kamseu {naji.habra | benoit.vanderose | flora.kamseu}@fundp.ac.be
3èmes Journées du GDR Génie de la Programmation et du Logiciel (GPL) 8–10 juin, 2011, Lille, France
2 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Plan
• Contexte • Méthodologie et framework
de qualité • Questions de recherche • Résultats préliminaires
3 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Contexte
• Projet FEDER – portefeuille TIC • CE-IQS: Centre d’Expertise en Ingénierie et Qualité des
Systèmes – Thématique: “Méthodologies pour dévéloper et évoluer les
systèmes logiciels”
• Workpackage QUALGEN – Modéliser et évoluer la qualité de différents points de
vue – Utiliser un métamodèle et framework de qualité pour
étudier et controler la qualité des projets logiciels tout au long de leur évolution
4 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Contexte
• L’évolution logicielle peut affecter plusieurs aspects de la qualité d’un système logiciel – complétude, cohérence, fiabilité, maintenabilité, etc.
• Des études empiriques permettent d’étudier cette relation
• Le but à moyen terme étant d’améliorer les méthodes et outils de contrôle et d’amélioration de qualité
5 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Contexte
• Difficultés rencontrées lors des études empiriques – Difficultés de trouver des sujets pour les expériences – Difficulté d’accès à des données industrielles – Divergences et incohérences dans les méthodes et les outils
de mesure – Manque de connaissance sur la relation entre les divers
aspects de la qualité logicielle au sein d’un même projet
• Solutions possibles – Se focaliser sur des données « open source » – Faire des études sur des groupes d’étudiants au sein de
différentes universités – Utiliser la methodologie MoCQA
6 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Contexte
• Passer d’une perspective « code » à une perspective projet
• Étudier, au sein d’un projet, les relations entre plusieurs aspects de qualité et plusieurs artéfacts
• Intégrer: – différents artéfacts – différent points de vues – différentes notions de qualité – l’aspect évolutif
Plan de test (acceptation) Design
Code
Exécutable
Analyse de besoins
Plan de test (unitaires)
Projet
Documentation
7 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Contexte
• Passer d’une perspective projet à une perspective écosystème
• Étudier, au sein d’un écosystème, la qualité de plusieurs projets, la relation entre eux et la communauté
Projet-1 Projet-2 Projet-n …
Ecosystème
8 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Méthodologie
Framework MoCQA (Model-Centric Quality Assessment)
• Framework d’assistance à l’évaluation de la qualité au niveau du projet – Structure la définition des mesures et des artéfacts mesurés – Intègre et structure les relations entre les artefacts/mesures/indicateurs de
qualité • Repose sur l’utilisation de modèles MoCQA
= modèles de qualité opérationnel et taillé sur mesure structure l’information nécessaire pour le processus d’évaluation de qualité
• Que mesurer? Comment le mesurer? Dans quel but? Pour qui?
9 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Méthodologie
• Méthodologie d’évaluation de la qualité basée sur un modèle permet de d’expliciter les hypothèse pour les expérimentations
• Plusieurs niveaux de révision du modèle du processus d’évaluation permet de réviser les hypothèses des expérimentations
10 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Méthodologie
11 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Méthodologie
Quality-related
Definition or reuse of a hierarchy of quality issues
12 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Méthodologie
Measurement-related
Definition or reuse of measurement method
Associated to the quality factors
13 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Méthodologie
Project-related Project vs product Software ≠ black-box Scope = project
14 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Exemple d’un modèle MoCQA Exemple d’un modèle de qualité (instantiation du métamodèle MoCQA)
15 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Questions de recherche
• Quelle est la relation entre l’évaluation objective et subjective d’un attribut de qualité d’un artéfact?
Artéfact A (p.e., plan de test)
Attribut X (p.e., complétude) Méthode: objective (mesure) (p.e., test coverage tool)
Attribut X (p.e., complétude) Méthode: subjective (évaluation)
Artéfact A (p.e., plan de test)
But: approximation par une méthode automatisée
• Avantages – Gain de temps (automatisation) – Plus aisément répétable au cours
du cycle d’évolution – Evite l’évaluation « à la tete du
client »
• Risque – Les éléments non pris en compte
par la méthode objective sont-ils pertinents?
estimation
16 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Questions de recherche
• Quelle est la relation entre différents attributs de qualité pour un même artefact?
Artéfact A (p.e. code source)
Attribut X (p.e., lisibilité)
Attribut Y (p.e., efficacité / optimisation)
Artéfact A (p.e. code source)
But: construction de modèles prédictifs au cours du cycle
• Avantages – Anticiper l’impact de la
maintenance sur un artefact (p.ex. optimisation peut rendre le code moins lisible)
17 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Questions de recherche
• Quelle est la relation entre différents attributs de qualité pour un même artefact?
Artéfact A (p.e. design model)
Attribut X (p.e., complétude)
Attribut Y (p.e., taille)
Artéfact A (p.e. design model)
But: construction de modèles prédictifs au cours du cycle
• Avantages – Anticiper l’impact de la
maintenance sur un artéfact
18 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Questions de recherche
• Quelle est la relation entre le même attribut de qualité pour différents artefacts?
Artéfact A (p.e. design model)
Attribut X (p.e. complétude)
Attribut X (p.e. complétude)
Artéfact B (p.e. code source)
But: construction de modèles prédictifs au cours du cycle
• Avantages – Détection des problèmes de
qualité tôt dans le processus – Tracabilité des défauts au
travers d’artéfacts à différents niveaux d’abstraction
• Risque – Dans quelle mesure le facteur
humain influe sur la prédiction de cette relation?
19 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Etude empirique
• Comment mettre en place des expérimentations permettant d’étudier ces relations ?
Formaliser des hypothèses sur les relations entre attributs de qualité Garder trace de plusieurs méthodes de mesure d’une manière structurée Trouver du support statistique pour confirmer les hypothèses
• Comment garantir la réplication des expérimentations? Fournir un « replication package » permettant de repeter l’étude Fournir une structure permettant de rapidement identifier les manques et
variations (artéfacts / méthodes de mesure) d’un contexte à l’autre
20 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Etude empirique
• Projet de génie logiciel à l’UMONS – 8 groupes de 2 étudiants – Travail obligatoire pour le cours « génie logiciel » – Plusieurs artéfacts produits: modèles UML, code Java, tests
JUnit, rapports pdf, Javadoc
• Évaluation subjective – Par 4 enseignants sur tous les artéfacts pour différents
attributs de qualité
• Évaluation objective – En utilisant des outils automatisés
21 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Etude empirique
• Évaluation subjective – Basé sur des questions précises pour chaque artéfact évalué – En utilisant une échelle Lickert
• excellent, très bien, bien, suffisant, insuffisant, mauvais, très mauvais, inacceptable
– Evaluation des modèles UML (cohérence, complétude), code source (style OO, complétude), tests (correctness, complexité, complétude), exécution (convivialité, complétude)
• Évaluation objective – En utilisant Junit (test correctness), EclEmma (code et test
coverage), PMD (code quality), …
22 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Résultats Préliminaires Même artéfact, même attribut
Artefact = unit tests Objectives vs. subjectives
• 2 méthodes objectives % Test Coverage # Tests
• évaluation subjectif
Mettre en évidence une relation d’approximation
Unit Tests
Attribut: complétude Méthode: objective (mesure) (p.e., test coverage tool, test runs)
Attribut: complétude Méthode: subjective (évaluation)
Unit Tests
estimation
23 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Résultats Préliminaires Même artéfact, même attribut
% classes couvertes par les tests vs. évaluation subjective
• p-value = 0.118 • corrélation = 0.558
Corrélation pas statistiquement significative
Granularité de la méthode de mesure insuffisante
24 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Résultats Préliminaires Même artéfact, même attribut
% méthodes couvertes par les tests vs. évaluation subjective
• p-value = 0.024 • corrélation = 0.735
Forte corrélation, statistiquement significative
Granularité de la méthode de mesure suffisante pour une approximation
25 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Résultats Préliminaires Même artéfact, même attribut
% LoC couvertes par les tests vs. évaluation subjective
• p-value = 0.014 • corrélation = 0.774
Forte corrélation, statistiquement significative
Granularité de la méthode de mesure suffisante pour une approximation
26 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Résultats Préliminaires Même artéfact, même attribut
#tests vs. évaluation subjective
• p-value = 0.0177 • corrélation = 0.759
Forte corrélation, statistiquement significative
Couverture des méthodes et #tests donnent des résultats similaires
27 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Résultats Préliminaires
Conclusions préliminaires:
Artefact = unit tests Méthode = objective vs.
subjective
• Mise en évidence d’une relation d’approximation possible dans une majorité de cas
• Minorité de cas où l’évaluation objective est plus sévère
Étudier les facteurs qui rendent l’évaluation subjective plus efficace dans ses cas
28 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Résultats Préliminaires différents artéfacts, différents attributs
Peut-on aller plus loin?
Évaluation subjective globale du produit final (l’exécutable)
vs. Évaluation objective (couverture de test)
• p-value = 0.585 • corrélation = 0.211
Essai infructueux
L’évaluation inclut-elle des éléments parasites qui empêchent la corrélation?
29 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Résultats Préliminaires différents artéfacts, différents attributs
Deuxième version
Évaluation subjective de la stabilité de l’exécutable
vs. Évaluation objective (couverture de test)
• p-value = 0.647 • corrélation = 0.178
Essai infructueux Corrélation encore plus
réduite
30 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France
Résultats Préliminaires
Conclusions préliminaires:
Modèles prédictifs (qualité de test vs. stabilité de
l’exécutable)
• La qualité de test n’est pas corrélée à la qualité de l’exécutable.
• L’évaluation objective n’est pas adaptée pour prédire la stabilité de l’exécutable.
Travaux Futurs
• Répéter l’expérience dans d’autres universités • Raffiner les questions de recherche • Trouver davantage de support statistiquement
significatif
31 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France