31
É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

Etudes empiriques sur l’evolution de la qualite logicielle

Embed Size (px)

DESCRIPTION

Présentation lors de la session RIMEL du Groupement de Recherche (GdR) sur le Génie de la Programmation de du Logiciel (GPL), Lille, 8 juin 2011, France

Citation preview

Page 1: 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

Page 2: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 3: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 4: Etudes empiriques sur l’evolution de la qualite logicielle

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é

Page 5: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 6: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 7: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 8: Etudes empiriques sur l’evolution de la qualite logicielle

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?

Page 9: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 10: Etudes empiriques sur l’evolution de la qualite logicielle

10 / 29 Journées du GDR GPL, 8-10 juin, 2011, Lille, France

Méthodologie

Page 11: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 12: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 13: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 14: Etudes empiriques sur l’evolution de la qualite logicielle

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)

Page 15: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 16: Etudes empiriques sur l’evolution de la qualite logicielle

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)

Page 17: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 18: Etudes empiriques sur l’evolution de la qualite logicielle

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?

Page 19: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 20: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 21: Etudes empiriques sur l’evolution de la qualite logicielle

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), …

Page 22: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 23: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 24: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 25: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 26: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 27: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 28: Etudes empiriques sur l’evolution de la qualite logicielle

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?

Page 29: Etudes empiriques sur l’evolution de la qualite logicielle

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

Page 30: Etudes empiriques sur l’evolution de la qualite logicielle

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.

Page 31: Etudes empiriques sur l’evolution de la qualite logicielle

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