An Analogy-Based Approach for Predicting Design Stability of Java Classes

  • Authors:
  • David Grosser;Houari A. Sahraoui;Petko Valtchev

  • Affiliations:
  • -;-;-

  • Venue:
  • METRICS '03 Proceedings of the 9th International Symposium on Software Metrics
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Predicting stability in object-oriented (OO) software, i.e., the ease with which a software item evolves 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, provided that no major requirement reshuf.ing occurs. Stability, like most quality factors, is a complex phenomenon and its prediction is a real challenge. In this paper, we present an approach which relies on the case-based reasoning (CBR) paradigm and thus overcomes the handicap of insufficient theoretical knowledge on stability. The approach explores structural similarities between classes, expressed as software metrics, to guess their chances of becoming unstable. In addition, our stability model binds its value to the impact of changing requirements, i.e., the degree of class responsibilities increase between versions, quantified as the stress factor. As a result, the prediction mechanism favours the stability values for classes having strong structural analogies with a given test class as well as a similarstress impact. Our predictive model is applied on a testbed made up of the classes from four major version of the Java API.