Predicting software stability using case-based reasoning

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. We present a novel approach which relies on the case-based reasoning (CBR) paradigm. Thus, to predict the chances of an OO software item breaking downward compatibility, our method uses knowledge of past evolution extracted from different software versions. A comparison of our similarity-based approach to a classical inductive method such as decision trees, is presented which includes various tests on large datasets from existing software.

[1]  Horst Zuse,et al.  A Framework of Software Measurement , 1998 .

[2]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[3]  Thomas M. Pigoski Practical Software Maintenance: Best Practices for Managing Your Software Investment , 1996 .

[4]  Edward B. Allen,et al.  Case-Based Software Quality Prediction , 2000, Int. J. Softw. Eng. Knowl. Eng..

[5]  Stéphane Ducasse,et al.  Metrics, Do They Really Help? , 1999, LMO.

[6]  Mauricio Amaral de Almeida,et al.  An Investigation on the Use of Machine Learned Models for Estimating Software Correctability , 1999, Int. J. Softw. Eng. Knowl. Eng..

[7]  Carolyn Seaman,et al.  Practical Software Maintenance , 2000, J. Softw. Maintenance Res. Pract..

[8]  Carsten Tautz,et al.  CBR for Experimental Software Engineering , 1998, Case-Based Reasoning Technology.

[9]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[10]  Robert G. Reynolds,et al.  Identifying Reusable Software Components by Induction , 1991, Int. J. Softw. Eng. Knowl. Eng..

[11]  Agnar Aamodt,et al.  Case-Based Reasoning: Foundational Issues, Methodological Variations, and System Approaches , 1994, AI Commun..

[12]  Aiko M. Hormann,et al.  Programs for Machine Learning. Part I , 1962, Inf. Control..

[13]  J. Ross Quinlan,et al.  C4.5: Programs for Machine Learning , 1992 .

[14]  Lionel C. Briand,et al.  Exploring the relationships between design measures and software quality in object-oriented systems , 2000, J. Syst. Softw..