The ScalarInh metrics provide measurements relating to an individual module's participation in inheritance. (For measurements relating to inheritance over the whole system see the SummaryInh metrics suite.) These are based on the original DIT and NOC metrics proposed by Chidamber and Kemerer (CK). The model on which these metrics are based is a graph with modules as vertices and different kinds of edges between them indicating their inheritance relationships. CC edges connect two classes (ie extends), CI connect a class with an interface (implements), and II connect two interfaces (extends). Standard graph metrics such as in- or out-degree, path length, and subgraph size can be restricted to kind of each or characteristic of paths. This gives various classes of metrics, such as depth in inheritance tree (DIT), number of children (NOC), number of ancestors (NOA), number of descendants (NOD), and number of parents (NOP).
Ewan Tempero, James Noble and Hayden Melton 'How do Java Programs Use Inheritance? An Empirical Study of Inheritance in Java Software' 22nd European Conference on Object-Oriented Programming (ECOOP), Springer Berlin / Heidelberg Paphos, Cyprus. July 2008. pp. 667-691. [Publisher] [Earlier TR]
Chidamber, S. R. and Kemerer, C. F. Towards a metrics suite for object oriented design. In Conference Proceedings on Object-Oriented Programming Systems, Languages, and Applications (Phoenix, Arizona, United States, October 06 - 11, 1991). A. Paepcke, Ed. OOPSLA '91. ACM Press, New York, NY, 197-211. [DOI]