Previous [1] [2] [3] [4] [5] 6 [7] [8]

Journal of Inforamtion Science and Engineering, Vol.8 No.3, pp.431-447 (September 1992)
Inheritance-Based Metric for Complexity Analysis
in Object- Oriented Design

Chi-Ming Chung and Ming-Chi Lee
Department of Computer Science
Tamkang University
Taipei, Taiwan, R.O.C.

Object-oriented software development, including object-oriented analysis (OOA), object-oriented design (OOD) and object-oriented programming (OOP), is a promising new approach for developing software systems to reduce software costs and to increase software reusability, flexibility, and extemsibility. Software metric is an impottant technique used to measure software complexity to improve software quality and enhance software correctness. For the past decade, most software metrics have been developed on procedure-oriented languages and widely applied to software complexity evaluation. Recently, many researches on software metrics have taken the object-oriented approach tp measuring the complexity of OO software. However, few researches have led to insight into the relationships between object-oriented design complexity and inheritance. This paper describes a graph-theoretical metric for measuring the complexity of class hierarchy. This metric shows that inheritance has a close relation with object-oriented software complexity and reveals that overuse of repeated (multiple) inheritance will increase software complexity and be prone to implicit software errors. An algorithm to support this software metric is presented. Its time complexity is O(n3).

Keywords: repeated inheritance, multiple inheritance, software testing, complexity measurement, software metrics

Received November 10, 1991; revised October 5, 1992.
Communicated by Y. S. Kuo.