Dynamic Coupling Measures for Object-Oriented Software (2002)

Author(s): Erik Arisholm
Venue: Proceedings of the Eigth IEEE Symposium on Software Metrics
Date: Jun 2002

Type of Experiement: Case Study

Quality
3

Details
Applying the proposed dynamic metric suite against a commercial object-oriented analysis
and design CASE tool – the Ooram system. The collected data is based on nine maintenance
releases (version g01 - g09) of the system. These releases were produced within a time span
of one and a half years. The system is implemented in VisualWorks SmallTalk and consists
of more than 1000 classes and close to 300,000 lines of code.

Summary
Proposal of a dynamic metric suite in order to capture the effects of runtime coupling. The
two focuses were to not take into account “dead code” of a system and polymorphic behavior.
This is because static analysis cannot determine if code is “dead code” from actual exercised
code. The dynamic measurements do not have to worry about this, because they only
record data from the instructions they execute. The dynamic metric suite includes import
and export coupling metrics at the object and class level interactions. The suite also takes
into account the strength of the mappings through dynamic messages, distinct methods, and
distinct classes.

The results show that two of the proposed metrics outperformed the others consider-
ably. The two metrics were EC OC and EC OM which are export coupling metrics for
distinct classes and objects respectively. These provided the most data to account for
change-proneness of a class when size is accounted . This is most likely because the ob-
jects are depended on services provided by the object and therefore it is likely that the class
of the object will be changed in the future due to its complexity and important role of the
system. A worthy note is the article mentioned the recent development of the JVMPI (Java
Virtual Machine Program Interface) which allows to retrieve the running state of the JVM
at any time. This was introduced in Java 5.0.

0