JANUARY/FEBRUARY 1999 | Lionel C. Briand, John W. Daly, and Jürgen K. Wüst
This paper presents a unified framework for coupling measurement in object-oriented systems. The authors argue that while many coupling measures have been proposed, there is a lack of understanding of their motivations and empirical foundations, making it difficult to compare or select appropriate measures. To address this, the paper introduces a standardized terminology and formalism for expressing measures, reviews existing coupling frameworks and measures, and proposes a unified framework that classifies all existing measures based on the issues identified in the review.
The paper highlights that many existing coupling measures are not fully operationally defined and few are based on explicit empirical models, as recommended by measurement theory. It also notes that the dynamic aspects of coupling between objects at run-time have not been adequately investigated. The authors propose a comprehensive framework based on a standard terminology and formalism that can be used to compare existing measures, evaluate and validate them, and support the definition of new measures.
The framework is based on the analysis of static usage dependencies between classes, derived from design documents or source code. It uses a formalism based on set and graph theory to define coupling measures, including methods, attributes, types, and method invocations. The framework distinguishes between different types of coupling, such as interaction, component, and inheritance coupling, and defines the strength of coupling based on the frequency and type of connections between classes.
The authors also discuss the differences between existing coupling frameworks, such as those by Eder et al., Hitz and Montazeri, and Briand et al., and highlight the importance of distinguishing between import and export coupling, as well as the direction of coupling. The paper concludes that the proposed framework provides a mechanism for comparing measures, integrating existing measures that examine the same concepts in different ways, and facilitating more rigorous decision-making regarding the definition of new measures and the selection of existing measures for specific measurement goals.This paper presents a unified framework for coupling measurement in object-oriented systems. The authors argue that while many coupling measures have been proposed, there is a lack of understanding of their motivations and empirical foundations, making it difficult to compare or select appropriate measures. To address this, the paper introduces a standardized terminology and formalism for expressing measures, reviews existing coupling frameworks and measures, and proposes a unified framework that classifies all existing measures based on the issues identified in the review.
The paper highlights that many existing coupling measures are not fully operationally defined and few are based on explicit empirical models, as recommended by measurement theory. It also notes that the dynamic aspects of coupling between objects at run-time have not been adequately investigated. The authors propose a comprehensive framework based on a standard terminology and formalism that can be used to compare existing measures, evaluate and validate them, and support the definition of new measures.
The framework is based on the analysis of static usage dependencies between classes, derived from design documents or source code. It uses a formalism based on set and graph theory to define coupling measures, including methods, attributes, types, and method invocations. The framework distinguishes between different types of coupling, such as interaction, component, and inheritance coupling, and defines the strength of coupling based on the frequency and type of connections between classes.
The authors also discuss the differences between existing coupling frameworks, such as those by Eder et al., Hitz and Montazeri, and Briand et al., and highlight the importance of distinguishing between import and export coupling, as well as the direction of coupling. The paper concludes that the proposed framework provides a mechanism for comparing measures, integrating existing measures that examine the same concepts in different ways, and facilitating more rigorous decision-making regarding the definition of new measures and the selection of existing measures for specific measurement goals.