Onglet Publications

Prédiction de la stabilité des interfaces de classes Java : Une approche par analogie


english conf. auteurs résumé mots-clef abstract keywords downloads


Conf.
Actes des 9èmes journées francophones "Langages et Modèles à Objets", (LMO'03)
à paraître dans le numéro spécial de la Revue Sciences et Technologies de l'Information (RSTI), dans la série l'Objet, Hermès (Ed.), 13 p., Janvier 2003
Auteurs
D.Grosser, H.A.Sahraoui, P.Valtchev
Résumé

Prédire la stabilité d'un logiciel orienté-objet (OO), i.e. comment peut-il évoluer tout en préservant sa conception ?, est un facteur clé pour la maintenance du logiciel. S'il est bien conçu, il doit être capable d'évoluer tout en conservant une compatibilité entre versions. La stabilité, comme la plupart des facteurs de qualité, est un phénomène complexe et pouvoir la prédire est un véritable enjeu d'actualité. Nous présentons une nouvelle approche fondée sur le paradigme du Raisonnement Partir de Cas (RàPC). Afin de prédire les chances qu'un élément logiciel puisse briser la compatibilit ascendante, notre méthode utilise la connaissance de logiciels pour lesquels plusieurs versions sont disponibles. Une base de cas est construite à partir d'un ensemble de métriques structurelles mesurées sur chaque version. La stabilité des nouveaux composants est calculée à l'aide d'une mesure de proximité. Les résultats des analyses conduites par cette méthode sur un large ensemble de données, sont comparés à la méthode d'apprentissage inductif classique des arbres de décision.

Mots-clefs

Maintenance du logiciel, prédiction de la stabilité, métriques structurelles, classification, raisonnement partir de cas, mesure de similarité

Abstract

Predicting stability in object-oriented (OO) software, i.e., the ease with which a software item can evolve while preserving its design, is a key feature for software maintenance. In fact, a well designed OO software must be able to evolve without violating the compatibility among versions. Stability, like most quality factors, is a complex phenomenon and its prediction is a real challenge. In this paper, we present a novel approach which relies on the case-based reasoning (CBR) paradigm. Thus, to predict the chances of an OO software item to break downward compatibility, our method uses knowledge of past evolution extracted from different software versions. New components are assigned a stability value based on their degree of proximity to known cases from the base. A comparison of our similarity-based approach to a classical inductive method such as decision trees, is presented which included various tests on large datasets from existing software.

Keywords

software maintenance, stability prediction, software metrics, classification, case based reasoning, similarity

Downloads
pdf LMO-stabilite-03.pdf

 [ Page d' Accueil | Publications | Bienvenue | Top ]

© IREMIA - Equipe IKBS - 6/2003