Coupling is considered by many to be an important concept in measuring design quality. There is still much to be learned about which aspects of coupling affect design quality or other external attributes of software. Much of the existing work concentrates on direct coupling, that is, forms of coupling that exists between entities that are directly related to each other. A form of coupling that has so far received little attention is indirect coupling, that is, coupling between entities that are not directly related. What little discussion there is in the literature suggests that any form of indirect coupling is simple the transitive closure of a form of direct coupling. We will demonstrate that this is not the case, that there are forms of indirect coupling that cannot be represented in this way, and suggest ways to measure it. We will present a tool that identifies a particular form of indirect coupling that is integrated in the Eclipse IDE.
Hong Yul Yang, Ewan D. Tempero, Rebecca Berrigan