Predicting maintainability with object-oriented metrics -an empirical comparison

A large number of metrics have been proposed formeasuring properties of object-oriented software such assize, inheritance, cohesion and coupling. We have beeninvestigating which of these object-oriented metrics canbe used as significant predictors for the maintainability ofsoftware. For this purpose, we have designed andconducted an empirical study based on historical datacollected from the maintenance history of a medium-sizedobject-oriented system. Unlike most related studies,indirect coupling has also been taken into account in ourwork in order to evaluate its impact. Our study uses themaintenance history of two software systems as evidencebase for linking software quality attributes to metricssuggested for object-oriented software. Our resultsindicate that size and import direct coupling metrics aresignificant predictors for measuring maintainability ofclasses while inheritance, cohesion, and indirect/exportcoupling measures are not.

[1]  Standard Glossary of Software Engineering Terminology , 1990 .

[2]  L. H. Rosenberg,et al.  Developing a Successful Metrics Programme , 1996 .

[3]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[4]  Lionel C. Briand,et al.  A Unified Framework for Cohesion Measurement in Object-Oriented Systems , 2004, Empirical Software Engineering.

[5]  Hausi A. Müller,et al.  Analyzing Java software by combining metrics and program visualization , 2000, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering.

[6]  K. K. Aggarwal,et al.  An integrated measure of software maintainability , 2002, Annual Reliability and Maintainability Symposium. 2002 Proceedings (Cat. No.02CH37318).

[7]  Emil Sekerinski,et al.  The Fragile Base Class Problem and Its Impact on Component Systems , 1997, ECOOP Workshops.

[8]  Eric R. Ziegel,et al.  Probability and Statistics for Engineering and the Sciences , 2004, Technometrics.

[9]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach (McGraw-Hill Series in Computer Science) , 2004 .

[10]  Norman E. Fenton,et al.  Software Metrics: A Rigorous Approach , 1991 .

[11]  Michael R. Lyu,et al.  Reliability and maintainability related software coupling metrics in C++ programs , 1992, [1992] Proceedings Third International Symposium on Software Reliability Engineering.

[12]  Michel Dagenais,et al.  Extending software quality assessment techniques to Java systems , 1999, Proceedings Seventh International Workshop on Program Comprehension.

[13]  James M. Bieman,et al.  Cohesion and reuse in an object-oriented system , 1995, SSR '95.

[14]  Khaled El Emam,et al.  The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics , 2001, IEEE Trans. Software Eng..

[15]  Alexander E. Quilici,et al.  Proceedings on the 5th working conference on reverse engineering , 1998 .

[16]  Kumaraswamy Ponnambalam,et al.  A maintainability model for industrial software systems using design level metrics , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[17]  Jana Polgar,et al.  Object-Oriented Software Metrics , 2005, Encyclopedia of Information Science and Technology.

[18]  E. Burton Swanson,et al.  The dimensions of maintenance , 1976, ICSE '76.

[19]  Vangalur S. Alagar,et al.  Assessment of maintainability in object-oriented software , 2001, Proceedings 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems. TOOLS 39.

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