Measuring Coupling and Cohesion of Software Modules: An Information-Theory Approach

  • Authors:
  • Edward B. Allen;Taghi M. Khoshgoftaar;Ye Chen

  • Affiliations:
  • -;-;-

  • Venue:
  • METRICS '01 Proceedings of the 7th International Symposium on Software Metrics
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Coupling of a subsystem characterizes its interdependence with other subsystems. A subsystem's cohesion, on the other hand, characterizes its internal interdependencies. When used in conjunction with other attributes, measurements of a subsystem's coupling and cohesion can contribute to software quality models. An abstraction of a software system can be represented by a graph and a module (subsystem) by a subgraph. Software-design graphs depict components and their relationships. Prior work by Allen and Khoshgoftaar proposed information theory-based measures of coupling and cohesion of a modular system. This paper proposes related information theory-based measures of coupling and cohesion of a module. These measures have the properties of module-level coupling and cohesion defined by Briand, Morasca, and Basili. We define cohesion of a module in terms of intramodule coupling, normalized to between zero and one. We illustrate the measures with example graphs and an empirical analysis of the call graph of a moderate-size C program, the Nethack computer game. Preliminary analysis showed that the information-theory approach has finer discrimination than counting.