Open Access

A Statistical Evaluation of The Depth of Inheritance Tree Metric for Open-Source Applications Developed in Java


The Depth of Inheritance Tree (DIT) metric, along with other ones, is used for estimating some quality indicators of software systems, including open-source applications (apps). In cases involving multiple inheritances, at a class level, the DIT metric is the maximum length from the node to the root of the tree. At an application (app) level, this metric defines the corresponding average length per class. It is known, at a class level, a DIT value between 2 and 5 is good. At an app level, similar recommended values for the DIT metric are not known. To find the recommended values for the DIT mean of an app we have proposed to use the confidence and prediction intervals. A DIT mean value of an app from the confidence interval is good since this interval indicates how reliable the estimate is for the DIT mean values of all apps used for estimating the interval. A DIT mean value higher than an upper bound of prediction interval may indicate that some classes have a large number of the inheritance levels from the object hierarchy top. What constitutes greater app design complexity as more classes are involved. We have estimated the confidence and prediction intervals of the DIT mean using normalizing transformations for the data sample from 101 open-source apps developed in Java hosted on GitHub for the 0.05 significance level.

Publication timeframe:
4 times per year
Journal Subjects:
Computer Sciences, Artificial Intelligence, Software Development