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.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Chidamber, S.R., Kemerer, C.F.: A Metrics Suite for Object Oriented Design. J. IEEE Trans. Soft. Eng. 20(6), 476–493 (1994)
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)
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)
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)
McCabe, T.J.: A Complexity Measure. J. IEEE Trans. Soft. Eng. 2(4), 308–320 (1976)
Abreu, F.B., Carapuca, R.: Candidate Metrics for Object-Oriented Software within a Taxonomy Framework. J. Sys. and Soft. 26, 87–96 (1994)
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)
Henderson-Sellers, B.: Object Oriented Metrics: Measures of Complexity, pp. 130–132. Prentice-Hall (1996)
Li, W.: Another Metric Suite for Object-Oriented Programming. J. Sys. and Soft. 44, 155–162 (1998)
Aggarwal, K.K., Singh, K.A., Malhotra, R.: Empirical Study of Object-Oriented Metrics. J. Obj. Tech. 5(8), 149–173 (2006)
Cartwright, M., Shepperd, M.J.: An Empirical Investigation of an Object-Oriented Software System. J. IEEE Trans. Soft. Eng. 26(8), 786–796 (2000)
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)
Dallal, J.A.: Measuring the Discriminative Power of Object-Oriented Class Cohesion Metrics. J. IEEE Trans. Soft. Eng. 37(6), 788–804 (2011)
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)
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)
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)
Li, W., Henry, S.: Object-Oriented Metrics that Predict Maintainability. J. Sys. and Soft. 23(2), 111–122 (1993)
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)
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)
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)
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)
Basili, V.R., Briand, L.C., Melo, L.W.: How Reuse Influences Productivity in Object-Oriented System. Commun. ACM 39(10), 104–116 (1996)
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)
Java Projects, http://www.sourceforge.net
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)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Ramachandra Reddy, B., Ojha, A. (2014). Discrimination of Class Inheritance Hierarchies – A Vector Approach. In: Rocha, Á., Correia, A., Tan, F., Stroetmann, K. (eds) New Perspectives in Information Systems and Technologies, Volume 2. Advances in Intelligent Systems and Computing, vol 276. Springer, Cham. https://doi.org/10.1007/978-3-319-05948-8_12
Download citation
DOI: https://doi.org/10.1007/978-3-319-05948-8_12
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-05947-1
Online ISBN: 978-3-319-05948-8
eBook Packages: EngineeringEngineering (R0)