Discrimination of Inheritance Patterns: An Improved Metric
B. Ramachandra Reddy, Aparajita Ojha · 2018
Many inheritance metrics are introduced with a view to understand structural complexity of class hierarchies and their impact on software performance and maintainability. To some extent they help understanding class hierarchies for their modifiability, reusability and testability. Design level metrics can play an important role in discriminating class hierarchies with respect to their understandability. Unfortunately, inheritance metrics do not provide any insight on structural differences in different types of class hierarchies, as different class inheritance hierarchies result to the same of some the inheritance metrics, leading in lack of discrimination anomaly (LDA)[1]. To address this problem, present authors have proposed a vector approach based on discrimination of class inheritance hierarchies in [2]. In this paper, we introduce an improved metric for discrimination of class hierarchies using a linear combination of existing inheritance metrics. The empirical study indicates that different inheritance hierarchies can be differentiate applying the metrics-method inheritance factors, Average Depth of Inheritance, attribute inheritance factors and reuse ratio. Discrimination power of the new metric is analyzed and is shown to be useful in prediction of maintainability and testability.