Ninth International Software Metrics Symposium (METRICS'03)
An Analogy-Based Approach for Predicting Design Stability of Java Classes
Sydney, Australia
September 03-September 05
ISBN: 0-7695-1987-3
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 similar stress impact. Our predictive model is applied on a testbed made up of the classes from four major version of the Java API.
Index Terms:
Analogy based estimation, learning, maintainability, predictive model, software quality prediction
Citation:
David Grosser, Houari A. Sahraoui, Petko Valtchev, "An Analogy-Based Approach for Predicting Design Stability of Java Classes," metrics, pp.252, Ninth International Software Metrics Symposium (METRICS'03), 2003