Using Z to specify object-oriented software complexity measures

Timothy K. Shih, Chun Chia Wang, Chi Ming Chung

Research output: Contribution to journalArticlepeer-review

1 Scopus citations


Software metrics have been a key strategy for software engineers to assure software quality and measure software complexity for many years. However, the complexity metrics of object inheritance hierarchies have not yet been carefully studied. This paper proposes an inheritance level-based metric for measuring the object-oriented software complexity of an inheritance hierarchy. We introduce an algorithm which is proved to be complete and sound to decompose an inheritance hierarchy into a number of measured elements, namely, unit repeated inheritances (URIs). We use the Z specification to model the inheritance hierarchy and describe an inheritance level technique (ILT) based on URIs as a guide to measure the inheritance hierarchy. The proposed metric shows that inheritance has a close relation to object-oriented software complexity. The metric also reveals that overuse of repeated (multiple) inheritance will increase software complexity and thus is prone to implicit software errors. The measurement of inheritance metrics is formed based on the proposed mechanism.

Original languageEnglish
Pages (from-to)515-529
Number of pages15
JournalInformation and Software Technology
Issue number8
StatePublished - Aug 1997


  • Inheritance hierarchy
  • Inheritance level technique
  • Software metrics
  • Unit repeated inheritance
  • Z specification


Dive into the research topics of 'Using Z to specify object-oriented software complexity measures'. Together they form a unique fingerprint.

Cite this