Class inheritance metrics-an analytical and empirical approach
Kumar Rajnish, Vandana Bhattacherjee
Abstract
Kumar Rajnish, Vandana Bhattacherjee
Abstract
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
OpenAlex reports 15 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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
Key concepts: Inheritance (genetic algorithm), Class hierarchy, Hierarchy, Class (philosophy), Computer science, Metric (unit), Axiom, Tree (set theory)