Coupling Metrics for Object-Oriented Design (1998)

Author(s): R. Harrison, S. Counsell, and R. Nithi
Venue: Proceedings for the Fifth International Software Metrics Symposium
Date: Nov 1998

Type of Experiement: Other


Five systems were compared ranging from different sizes but were all implemented using
C++. Two systems were developed by undergraduate students, but were under similar con-
ditions in industry for development. The systems consisted of GNU C++ class library, Li-
brary of Efficient Data Algorithms, SEG1 & SEG2 (traffic simulation systems), and EFOOP2
(image analysis). Many of the architectures had many but small in depth inheritance trees.
They also made heavy use of the friend operator in the C++ language. EFOOP2 used made
no use of inheritance.

Coupling between objects (CBO) and Number of Associations (NAS) which measures the
NAS between a class and its peers. These two OO metrics were empirically tested within
this article. Results found that there is a strong relationship between CBO and NAS and
suggests that they are not orthogonal. This implies that only one of the proposed metrics
would be necessary to determine a system’s level of coupling. In addition, they found that
there was no relationship between high amounts of coupling and understandability, number
of errors, or error density. The metric for understandability is obviously subjective and could
be attacked on grounds for the definition of this measurement. These metrics are aimed at
early stages of software development.