Using Z to specify object-oriented software complexity measures

https://doi.org/10.1016/S0950-5849(97)00001-3Get rights and content

Abstract

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.

References (12)

  • W. Li et al.

    Object-oriented metrics that predict maintainability

    J. Systems Software

    (1993)
  • BergeC.
  • ChidamberS.R. et al.

    Towards a metrics suite for object-oriented design

  • S.R. Chidamber et al.

    A metrics suite for object oriented design

    IEEE Trans. Software Eng.

    (1994)
  • C.M. Chung et al.

    Inheritance-based metric for complexity analysis in object-oriented design

    J. Inform. Sci. Eng.

    (1992)
  • DunsmoreH.E. et al.

    Data referencing: an empirical investigation

There are more references available in the full text version of this article.

Cited by (1)

  • Select Z bibliography

    1998, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
View full text