Class Inheritance Metrics-An Analytical and Empirical Approach - Rajnish, Kumar; Bhattacherjee, Vandana (INFOCOMP Journal of Computer Science, 2008)
Inheritance is a powerful mechanism in Object-Oriented (OO) programming. This mechanism supports the class hierarchy design and captures the IS-A relationship between a super class and its subclass. Several OO metrics have been proposed and their reviews are available in the literature. Among the various measurements of OO characteristics, this paper focuses on the metrics of class inheritance hierarchies. In this paper first a class inheritance metric DITC (Depth of Inheritance Tree of a Class) metric based on finding the depth of inheritance tree of a class (DITC) metric for class inheritance hierarchy in terms of sum of the attributes (private, protected, public and inherited) and methods (private, protected, public and inherited) at each level is proposed, then an analytical evaluation of DITC metric against Weyuker’s axioms [18] is given in discussion part and then attempt has been made to define an empirical relation between development time with respect to its dependence on classes in class inheritance hierarchy at each level. Attempt has also been made to analyze the various dependencies of development time of class in class inheritance hierarchy at each level upon its different class inheritance metric values. Data for several class inheritance hierarchies has been collected from various resources