É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
Top Related