An information-based view of representational coupling in object-oriented systems

  • Authors:
  • Pierre Kelsen

  • Affiliations:
  • Luxembourg University of Applied Sciences, Department of Applied Computer Science, Luxembourg-Kirchberg

  • Venue:
  • FASE'03 Proceedings of the 6th international conference on Fundamental approaches to software engineering
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we investigate a special type of coupling in object-oriented systems. When a method of a class C invokes a method of a class D, the method of C becomes dependent on the representational details of D: the more low-level the service provided by D is the higher the dependency of C on D. This dependency is known as representational coupling. Coupling in general, and representational coupling in particular, are important because they influence the extensibility of a system, that is, the ease with which software can be adapted to changing requirements: the higher the coupling the harder it is to make changes since any changes local to one module are likely to affect many other modules. We propose a qualitative measure of representational coupling (as opposed to quantitative measures provided by metrics) that is based on partial orders over equivalence relations on the state space. We also introduce the notion of intrinsic representational coupling that expresses the amount of representational coupling that is inherent to the system. Finally, we show that despite its non-quantitative nature our measure can be useful in identifying candidate methods for refactoring. We demonstrate this by applying our measure to several examples in the literature, showing in each case how an implementation with non-minimal representational coupling can be transformed using a few simple refactorings into a solution with minimal representational coupling (equal to the intrinsic representational coupling).