Discrimination of Class Inheritance Hierarchies – A Vector Approach

Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 276)

Abstract

Numerous inheritance metrics have been proposed and studied in the literature with a view to understand the effect of inheritance on software performance and maintainability. These metrics are meant to depict the inheritance structures of classes and related issues. However, in spite of a large number of inheritance metrics introduced by researchers, there is no standard set of metrics that could discriminate the class hierarchies to decipher or predict the change-proneness, defect-proneness of classes or issues that could effectively address maintainability, testability and reusability of class hierarchies. In fact, very different hierarchical structures lead to the same values of some standard inheritance metrics, resulting in lack of discrimination anomaly (LDA). In an effort to address this problem, three specific metrics have been studied from the point of view of providing an insight into inheritance patterns present in the software systems and their effect on maintainability. Empirical analysis shows that different class hierarchies can be distinguished using the trio – average depth of inheritance, specialization ratio and reuse ratio.

Keywords

Inheritance Metrics Class Hierarchies Software Maintainability 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Chidamber, S.R., Kemerer, C.F.: A Metrics Suite for Object Oriented Design. J. IEEE Trans. Soft. Eng. 20(6), 476–493 (1994)CrossRefGoogle Scholar
  2. 2.
    Harrison, R., Counsell, S.J.: An Evaluation of the Mood set of Object-Oriented Software Metrics. J. IEEE Trans. Soft. Eng. 21(12), 929–944 (1995)CrossRefGoogle Scholar
  3. 3.
    Sheldon, F.T., Jerath, K., Chung, H.: Metrics for Maintainability of Class Inheritance Hierarchies. J. Soft. Main. and Evol. Res. and Pra. 14(3), 147–160 (2002)CrossRefMATHGoogle Scholar
  4. 4.
    Daly, J., Brooks, A., Miller, J., Roper, M., Wood, M.: Evaluating Inheritance Depth on the Maintainability of Object-Oriented Software. J. Emp. Soft. Eng. 1, 109–132 (1996)CrossRefGoogle Scholar
  5. 5.
    McCabe, T.J.: A Complexity Measure. J. IEEE Trans. Soft. Eng. 2(4), 308–320 (1976)CrossRefMATHMathSciNetGoogle Scholar
  6. 6.
    Abreu, F.B., Carapuca, R.: Candidate Metrics for Object-Oriented Software within a Taxonomy Framework. J. Sys. and Soft. 26, 87–96 (1994)CrossRefGoogle Scholar
  7. 7.
    Mishra, D.: New Inheritance Complexity Metrics for Object-Oriented Software Systems: An Evaluation with Weyuker’s Properties. J. Comp. and Info. 30(2), 267–293 (2011)Google Scholar
  8. 8.
    Henderson-Sellers, B.: Object Oriented Metrics: Measures of Complexity, pp. 130–132. Prentice-Hall (1996)Google Scholar
  9. 9.
    Li, W.: Another Metric Suite for Object-Oriented Programming. J. Sys. and Soft. 44, 155–162 (1998)CrossRefGoogle Scholar
  10. 10.
    Aggarwal, K.K., Singh, K.A., Malhotra, R.: Empirical Study of Object-Oriented Metrics. J. Obj. Tech. 5(8), 149–173 (2006)CrossRefGoogle Scholar
  11. 11.
    Cartwright, M., Shepperd, M.J.: An Empirical Investigation of an Object-Oriented Software System. J. IEEE Trans. Soft. Eng. 26(8), 786–796 (2000)CrossRefGoogle Scholar
  12. 12.
    Basili, V.R., Briand, L.C., Melo, L.W.: A Validation of Object-Oriented Design Metrics as Quality Indicators. J. IEEE Trans. Soft. Eng. 22(10), 751–761 (1996)CrossRefGoogle Scholar
  13. 13.
    Dallal, J.A.: Measuring the Discriminative Power of Object-Oriented Class Cohesion Metrics. J. IEEE Trans. Soft. Eng. 37(6), 788–804 (2011)CrossRefGoogle Scholar
  14. 14.
    Dallal, J.A.: The impact of Inheritance on the internal Quality Attributes of Java Classes. Kuw. J. Sci. and Eng. 39(2A), 131–154 (2012)Google Scholar
  15. 15.
    Elish, M.O., AL-Khiaty, M.A., Alshayeb, M.: An Exploratory case study of Aspect-Oriented Metrics for Fault Proneness, Content and fixing Effort Prediction. Inter. J. Qua. and Rel. Mana. 30(1), 80–96 (2013)Google Scholar
  16. 16.
    Harrison, R., Counsell, S.J., Nithi, R.: Experimental Assessment of the Effect of Inheritance on the Maintainability of Object-Oriented Systems. J. Sys. and Soft. 52, 173–179 (2000)CrossRefGoogle Scholar
  17. 17.
    Li, W., Henry, S.: Object-Oriented Metrics that Predict Maintainability. J. Sys. and Soft. 23(2), 111–122 (1993)CrossRefGoogle Scholar
  18. 18.
    Zhang, L., Xie, D.: Comments On the applicability of Weyuker’s Property Nine to Object-Oriented Structural Inheritance Complexity Metrics. J. IEEE Trans. Soft. Eng. 28(5), 526–527 (2002)CrossRefGoogle Scholar
  19. 19.
    Makker, G., Chhabra, J.K., Challa, R.K.: Object Oriented Inheritance Metric-Reusability Perspective. In: International conference on Computing, Electronics and Electrical Technologies, pp. 852–859 (2012)Google Scholar
  20. 20.
    Han, A., Jeon, S., Bae, D., Hong, J.: Measuring Behavioral Dependency for Improving Change-Proneness Prediction in UML-based Design Models. J. of Sys. and Soft. 83(2), 222–234 (2010)CrossRefGoogle Scholar
  21. 21.
    Vernazza, T., Granatella, G., Succi, G., Benedicenti, L., Mintchev, M.: Defining Metrics for Software Components. In: 5th World Multi-Conference on Systemics, Cybernetics and Informatics, Florida, vol. XI, pp. 16–23 (2000)Google Scholar
  22. 22.
    Basili, V.R., Briand, L.C., Melo, L.W.: How Reuse Influences Productivity in Object-Oriented System. Commun. ACM 39(10), 104–116 (1996)CrossRefGoogle Scholar
  23. 23.
    Briand, L.C., Wst, J., Daly, J.W., Porter, D.V.: Exploring the Relationships between Design Measures and Software Quality in Object-Oriented Systems. J. Sys. and Soft. 51(3), 245–273 (2000)CrossRefGoogle Scholar
  24. 24.
  25. 25.
    Radjenovic, D., Hericko, M., Torkar, R., Zivkovic, A.: Software fault prediction metrics: A systematic literature review. J. Inf. and Soft. Tech. 55, 1397–1418 (2013)CrossRefGoogle Scholar
  26. 26.
    Zhou, Y., Yang, Y., Xu, B., Leung, H., Zhou, X.: Source code size estimation approaches for object-oriented systems from UML class diagrams: A comparative study. J. Inf. and Soft. Tech. 56, 220–237 (2014)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  1. 1.Design and Manufacturing JabalpurPDPM Indian Institute of Information TechnologyJabalpurIndia

Personalised recommendations