Abstract
The increasing importance being placed on software measurement has led to an increased amount of research developing new software measures. Given the importance of object-oriented development techniques, one specific area where this has occurred is cohesion measurement in object-oriented systems. However, despite a very interesting body of work, there is little understanding of the motivation and empirical hypotheses behind many of these new measures. It is often difficult to determine how such measures relate to one another and for which application they can be used. As a consequence, it is very difficult for practitioners and researchers to obtain a clear picture of the state-of-the-art in order to select or define cohesion measures for object-oriented systems. This situation is addressed and clarified through several different activities. First, a standardized terminology and formalism for expressing measures is provided which ensures that all measures using it are expressed in a fully consistent and operational manner. Second, to provide a structured synthesis, a review of the existing approaches to measure cohesion in object-oriented systems takes place. Third, a unified framework, based on the issues discovered in the review, is provided and all existing measures are then classified according to this framework. Finally, a review of the empirical validation work concerning existing cohesion measures is provided. This paper contributes to an increased understanding of the state-of-the-art: a mechanism is provided for comparing measures and their potential use, integrating existing measures which 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 a specific goal of measurement. In addition, our review of the state-of-the-art highlights several important issues: (i) many measures are not defined in a fully operational form, (ii) relatively few of them are based on explicit empirical models as recommended by measurement theory, and (iii) an even smaller number of measures have been empirically validated; thus, the usefulness of many measures has yet to be demonstrated.
Similar content being viewed by others
References
Basili, V. R., Briand, L. C., and Melo, W. L. 1996. A validation of object-oriented design metrics as quality indicators. IEEE Transactions on Software Engineering 22(10): 751–761.
Bieman, J. M., and Kang, B.-K. 1995. Cohesion and reuse in an object-oriented system. Proc. ACM Symp. Software Reusability (SSR'94), 259–262.
Briand, L., Daly, J., and Wüst, J. 1996. A unified framework for coupling measurement in object-oriented systems. Fraunhofer Institute for Experimental Software Engineering, Germany, Technical Report ISERN 96–14.
Briand, L., El Emam, K., and Morasca, S. 1995. Theoretical and empirical validation of software product measures. Technical Report ISERN 95–03.
Briand, L., Morasca, S., and Basili, V. 1993. Measuring and assessing maintainability at the end of high-level design. IEEE Conference on Software Maintenance, Montreal, Canada.
Briand, L., Morasca, S., and Basili, V. 1994. Defining and validating high-level design metrics. University of Maryland, CS-TR 3301, Technical Report.
Briand, L., Morasca, S., and Basili, V. 1996. Property-based software engineering measurement. IEEE Transactions of Software Engineering 22(1): 68–86.
Bunge, M. 1977. Treatise on Basic Philosophy: Ontology I: The Furniture of the World. Boston: Riedel.
Bunge, M. 1979. Treatise on Basic Philosophy: Ontology II: The World of Systems. Boston: Riedel.
Card, D. N., Church, V. E., and Agresti, W. W. 1986. An empirical study of software design practices. IEEE Transactions on Software Engineering 12(2): 264–271.
Card, D. N., Page, G. T., and McGarry, F. E. 1985. Criteria for software modularization. Proceedings IEEE Eighth International Conference on Software Engineering, 372–377.
Chidamber, S. R., and Kemerer, C. F. 1991. Towards a metrics suite for object oriented design. In Proc. Conference on Object-Oriented Programming: Systems, Languages and Applications (OOPSLA'91) (A. Paepcke, ed.), SIGPLAN Notices 26(11): 197–211.
Chidamber, S. R., and Kemerer, C. F. 1994. A metrics suite for object oriented design. IEEE Transactions on Software Engineering 20(6): 476–493.
Churcher, N. I., Shepperd, M. J. 1995a. Comments on ‘A metrics suite for object-oriented design.’ IEEE Transactions on Software Engineering 21(3): 263–265.
Churcher, N. I., and Shepperd, M. J. 1995b. Towards a conceptual framework for object oriented software metrics. Software Engineering Notes 20(2): 69–76.
Coad, P., and Yourdon, E. 1991a. Object-Oriented Analysis, second edition. Prentice Hall.
Coad, P., and Yourdon, E. 1991b. Object-Oriented Design, first edition. Prentice Hall.
Eder, J., Kappel, G., and Schrefl, M. 1994. Coupling and cohesion in object-oriented systems. University of Klagenfurt, Technical Report.
Embley, D. W., and Woodfield, S. N. 1987. Cohesion and coupling for abstract data types. 6th International Phoenix Conference on Computers and Communications, Arizona.
Fenton, N. 1991. Software Metrics: A Rigorous Approach. Chapman and Hall.
Henderson-Sellers, B. 1996. Software Metrics. Hemel Hempstaed, U.K.: Prentice Hall.
Hitz, M., and Montazeri, B. 1995. Measuring coupling and cohesion in object-oriented systems. Proc. Int. Symposium on Applied Corporate Computing, Monterrey, Mexico.
Hitz, M., and Montazeri, B. 1996. Chidamber & Kemerer's metrics suite: A measurement theory perspective. IEEE Transactions on Software Engineering 22(4): 276–270.
Jacobson, I., Christerson, M., Jonsson, P., and Overgaard, G. 1992. Object-Oriented Software Engineering: A Use Case Driven Approach. Reading, MA: ACM Press/Addison-Wesley.
Li, W., and Henry, S. 1993. Object-oriented metrics that predict maintainability. J. Systems and Software 23(2): 111–122.
Lee, Y.-S., Liang, B.-S., Wu, S.-F., and Wang, F.-J. 1995. Measuring the coupling and cohesion of an object-oriented program based on information flow. Proc. International Conference on Software Quality, Maribor, Slovenia.
Myers, G. 1978. Composite/Structured Design. Van Nostrand Reinhold.
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W. 1991. Object-Oriented Modeling and Design. Prentice Hall.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Briand, L.C., Daly, J.W. & Wüst, J. A Unified Framework for Cohesion Measurement in Object-Oriented Systems. Empirical Software Engineering 3, 65–117 (1998). https://doi.org/10.1023/A:1009783721306
Issue Date:
DOI: https://doi.org/10.1023/A:1009783721306