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 in.uence 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).
Work supported by the Luxembourg Ministry of Culture, Higher Education and Research under grant IST/02/03
Chapter PDF
Similar content being viewed by others
References
Erik Arisholm, Dynamic Coupling Measures for Object-Oriented Software, Proc. of the Eighth International Symposium on Software Metrics (Metrics’02), Ottawa, Canada, pp. 33–42.
V.R. Basili, L.C. Briand, W.L. Melo, A Validation of Object-Oriented Design Metrics as Quality Indicators, Transactions on Software Engineering 22(10), pp. 751–761, 1996.
T. Bollinger, “What Can Happen When Metrics Make the Call,” Transactions IEEE Software, vol. 12, no. 1, Jan 1995.
L.C. Briand, P. Devanbu, and W. Melo, An investigation into coupling measures for C++, Proc. 19th Int’l Conf. Software Eng., ICSE’97, Boston, pp. 412–421, May 1997.
L.C. Briand, J.W. Daly, J.K. Wüst, A Unified Framework for Coupling Measurement in Object-Oriented Systems, IEEE Transactions on Software Engineering, vol. 25, No. 1, Jan/Feb 1999.
L.C. Briand, J.K. Wüst, H. Lounis, Investigating quality factors in object-oriented designs: an industrial case study, Proceedings of the 21st international conference on Software engineering, pp. 345–354, 1999, Los Angeles, California, United States.
D. de Champeaux, D. Lea, P. Faure, Object-Oriented Systems Development, Reading, Mass.; Addison Wesley, 1993.
S.R. Chidamber and C.F. Kemerer, Towards a metrics suite for Object Oriented Design, Proc. Conf. Object-Oriented Programming: Systems, Languages and Applications, OOPSLA’91, Oct. 1991. Also published in SIGPLAN Notices, vol. 26, No. 11, pp. 197–211, 1991.
S.R. Chidamber and C.F. Kemerer, A metrics suite for Object Oriented Design, IEEE Trans. on Software Engineering, vol. 20, No. 6, pp. 476–493, 1994.
J. Eder, G. Kappel, and M. Schre., Coupling and Cohesion in Object-Oriented Systems, Technical Report, Univ. of Klagenfurt, 1994.
M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.
M. Hitz and B. Montazeri, Measuring Coupling and Cohesion in Object-Oriented Systems, Proc. Int’l Symp. Applied Corporate Computing, Monterrey, Mexico, Oct. 1995. A version of this paper (focusing on coupling only) has been published in Object Currents, vol. 1, No. 4, SIGS publications, 1996.
C. Jones, “Software Metrics: Good, Bad, and Missing,” Computer, vol. 27, no. 9, Sept 1994.
Y. Kataoka, M.D. Ernst, W.G. Griswold, and D. Notkin, Automated support for program refactoring using invariants, ICSM 2001, Proceedings of the International Conference on Software Maintenance, Florence, Italy, November 6–10, 2001, pp. 736–743.
Y.S. Lee, B.-S. Liang, S.-F-Wu, and F.-J. Wang, Measuring the Coupling and Cohesion of an Object-Oriented Program based on information flow, Proc. Int’l Conf. Software Quality, Maribor, Slovenia, 1995.
W. Li and S. Henry, Object-Oriented Metrics that Predict Maintanability, J. Systems and Software, vol. 23, no. 2, pp. 111–122, 1993.
C. Richter, Designing Flexible Object-Oriented Systems with UML, Macmillan Technical Publishing, 1999.
A. Riel, Object-Oriented Design Heuristics, Reading, Mass.: Addison-Wesley, 1996.
D. Roberts, J. Brant and R. Johnson, A Refactoring tool for Smalltalk, Theory and Practice of Object Systems, 3(4), pp. 253–263, 1997.
Sherif M. Yacoub, Hany H. Ammar, and Tom Robinson, Dynamic Metrics for Object-Oriented Designs, Proc. of the sixth International Symposium on Software Metrics (Metrics’99), Boca Raton, Florida, USA, pp. 60–61.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kelsen, P. (2003). An Information-Based View of Representational Coupling in Object-Oriented Systems. In: Pezzè, M. (eds) Fundamental Approaches to Software Engineering. FASE 2003. Lecture Notes in Computer Science, vol 2621. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36578-8_16
Download citation
DOI: https://doi.org/10.1007/3-540-36578-8_16
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00899-6
Online ISBN: 978-3-540-36578-5
eBook Packages: Springer Book Archive