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

Predire la stabilite d'un logiciel oriente-objet (OO), i.e. comment peut-il evoluer tout en preservant sa conception? est un facteur cle pour la maintenance du logiciel. S'il est bien concu, il doit etre capable d'evoluer tout en conservant une compatibilite entre versions. La stabilite, comme la plupart des facteurs de qualite, est un phenomene complexe et pouvoir la predire est un veritable enjeu d'actualite. Nous presentons une nouvelle approche fondee sur le paradigme du Raisonnement a Partir de Cas (RaPC). Afin de predire les chances qu'un element logiciel puisse briser la compatibilite ascendante, notre methode utilise la connaissance de logiciels pour lesquels plusieurs versions sont disponibles. Une base de cas est construite a partir d'un ensemble de metriques structurelles mesurees sur chaque version. La stabilite des nouveaux composants est calculee a l'aide d'une mesure de proximite. Les resultats des analyses conduites par cette methode sur un large ensemble de donnees, sont compares a la methode d'apprentissage inductif classique des arbres de decision.