Abstract
Module coupling is an important criterion for evaluating the quality of a software design. While the benefits of reduced module coupling are widely agreed upon, it has been difficult to measure coupling and thus understand it empirically. This study argues the definition of coupling, defines a set of coupling metrics based on the measurement of connections of a module within its running environment, and validates the set using principal component analysis. In an empirical study, the results indicate that these coupling metrics capture three distinct attributes of module coupling. These three attributes represent sources of variation not accounted for in the set of metric primitives and are appropriate for evaluating the coupling complexity of software. This study provides a set of validated measurements of the coupling complexity of software and a new way to evaluate module coupling measurements.
Similar content being viewed by others
References
Arisholm, E., Briand, L. and Føyen, A. 2004. Dynamic coupling measurement for object-oriented software, IEEE Transactions on Software Engineering 30(8): 491–506.
Binkley, A. and Schach, S. 1998. Validation of the coupling dependency metric as a predictor of run-time failures and maintenance measures, In Proc. Twentieth International Conference on Software Engineering, Kyoto, Japan, pp. 452–455.
Briand, L., Daly, J., and Wüst, J. 1999a. A unified framework for coupling measurement in object-oriented systems, IEEE Transactions on Software Engineering 25(1): 91–121.
Briand, L., Devanbu, P., and Melo, W. 1997. An investigation into coupling measures for C++, In Proc. of the 19th International Conference on Software Engineering, Boston, Massachusetts, pp. 412–421.
Briand, L., Wüst, J., and Lounis, H. 1999b. Using coupling measurement for impact analysis in object-oriented systems, In IEEE International Conference on Software Maintenance, Oxford, England, pp. 475.
Brito e Abreu, F. and Goulão, M. 2001. Coupling and cohesion as modularization drivers: Are we being over-persuaded?, In Proc. Fifth European Conference on Software Maintenance and Reengineering, Lisbon, Portugal, p. 47.
Fenton, N. and Melton A. 1990. Deriving structurally based software measures, Journal of Systems and Software 12: 177–187.
Fenton, N. and Pfleeger, S. 1997. Software metrics, PWS Publishing Company, Boston.
Hassoun, Y., Johnson, R., and Counsell, S. 2004. A dynamic runtime coupling metric for meta-level architectures, In Proc. Eigth European Conference on Software Maintenance and Reengineering, Tampere, Finland, p. 339.
Harrison, R., Counsell, S., and Nithi, R. 1998. Coupling metrics for object-oriented design, In Proc. Fifth International Symposium on Software Metrics, Bethesda, Maryland, pp. 150.
Hutchens, D. and Basili, V. 1985. System structure analysis: Clustering with data bindings, IEEE Transactions on Software Engineering 11: 749–757.
Jin, Z. and Offutt A. 1996. Coupling-based integration testing, In Proc. Second IEEE International Conference on Engineering of Complex Computer Systems, Montreal, Canada, pp. 10–17.
Kafura, D. and Henry, S. 1981. Software quality metrics based on interconnectivity, Journal of Systems and Software 2: 121–131.
Li, W. and Henry S. 1993. Object-oriented metrics that predict maintainability, Journal of Systems and Software 23(2): 111–122.
Lohse, J. and Zweben, S. 1984. Experimental evaluation of software design principles: An investigation into the effect of module coupling on system modifiability, Journal of Systems and Software 4: 301–308.
Ma, C., Chang, C., and Cleland-Huang, J. 2001. Measuring the intensity of object coupling in C++ programs, In Proc. Twenty-Fifth Annual International Computer Software and Applications Conference, Chicago, Illinois, pp. 538.
Munson, J. 1996. Software faults, Software Failures, and Software Reliability Modeling, Information and Software Technology 38: 687–699.
Munson, J. and Khoshgoftaar, T. 1989. The dimensionality of program complexity, In Proc. 11th Annual International Conference on Software Engineering, Pittsburgh, Pennsylvania, pp. 245–253.
Munson, J. and Khoshgoftaar, T. 1992. Measuring dynamic program complexity, IEEE Software, Nov: 48–55.
Munson, J. and Khoshgoftaar, T. 1993. Measurement of data structure complexity, Journal of Systems and Software 20: 217–225.
Myers, G. 1974. Reliable Software through Composite Design, Mason and Lipscomb, New York.
Offutt, A., Harrold M., and Kolte, P. 1993, A software metric system for module coupling, Journal of Systems and Software, 20: 295–308.
Page-Jones, M. 1980. The Practical Guide to Structured Systems Design, Yourdon Press, New York.
Rotenstreich, S. 1994. Toward measuring potential coupling, Software Engineering Journal, March: 83–90.
Selby, R. and Basili, V. 1991. Analyzing error-prone system structure, IEEE Transactions on Software Engineering SE 17: 141–152.
Stevens, G., Myers, G., and Constantine, L. 1974. Structured design, IBM Systems Journal 13: 115–139.
Troy, D. and Zweben, S. 1981. Measuring the quality of structured designs, Journal of Systems and Software 2: 113–120.
Turner, R. 1984, Software Engineering Methodology. Renton, Va, Renton Publishing Company.
Xia, F. 1996. Module coupling: A design metric, In Proc. Third Asia-Pacific Software Engineering Conference, Seoul, South Korea, pp. 44.
Author information
Authors and Affiliations
Corresponding author
Additional information
Gregory A. Hall is an Assistant Professor of Computer Science at Texas State University. He is actively engaged in research and publication in the areas of software engineering, software measurement, software testing, and digital forensics. He is a member of the Association for Computing Machinery, the IEEE, and the IEEE Computer Society.
Wenyou Tao received the MS degree in Computer Science and MS degree in Mining Engineering from the University of Idaho, and the MS and BS degrees from Chongqing University, China. He is currently a Quality Controller at LiveBridge Corporate, Canada. Previously, he worked as a QA engineer at Aventail Corporation and a software engineer at NET Information Systems, U.S.A.
John C. Munson is a Professor of Computer Science at the University of Idaho. He has worked with a number of different commercial and governmental organizations in the development of software static and dynamic measurement techniques for software test evaluation. He has been actively engaged in research and publication in the areas of software reliability engineering, software measurement, and computer security. He is a member of the Association for Computing Machinery, the IEEE, the IEEE Computer Society and the IEEE Reliability Society. He has been closely associated with the IEEE International Symposium on Software. He has also been associated with the IEEE International Conference on Software Maintenance and IEEE International Software Metrics Symposium serving as a member of the program committee and also as program chair for these conferences.
Rights and permissions
About this article
Cite this article
Hall, G.A., Tao, W. & Munson, J.C. Measurement and Validation of Module Coupling Attributes. Software Qual J 13, 281–296 (2005). https://doi.org/10.1007/s11219-005-1753-8
Issue Date:
DOI: https://doi.org/10.1007/s11219-005-1753-8