Rule-based approach to computing module cohesion

Stevens, Myers, and Constantine introduced the notion of cohesion, an ordinal scale of seven levels that describes the degree to which the actions performed by a module contribute to a unified function (1974). They provided rules, termed as associative principles to examine the relationships between processing elements of a module and designate a cohesion level to it. Stevens et al., however, did not give a precise definition for the term processing element. The author interprets the output variables of a module as its processing elements. Stevens et al.'s associative principles are transformed to relate the output variables based on their data and control dependence relationships. What results is a rule-based approach to computing cohesion. Experimental results show that, but for temporal cohesion, the cohesion associated to a module under this reinterpretation and that due to the original definitions are identical for all examples.<<ETX>>

[1]  Glenford J. Myers,et al.  Structured Design , 1974, IBM Syst. J..

[2]  James M. Bieman,et al.  Effects of software changes on module cohesion , 1992, Proceedings Conference on Software Maintenance 1992.

[3]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[4]  Albert L. Baker,et al.  A philosophy for software measurement , 1990, J. Syst. Softw..

[5]  Matthew S. Hecht,et al.  Flow Analysis of Computer Programs , 1977 .

[6]  Victor R. Basili Evaluating software development characteristics: assessment of software measures in the software eng , 1977 .

[7]  T. J. Emerson A discriminant metric for module cohesion , 1984, ICSE '84.

[8]  Brian W. Kernighan,et al.  Software tools , 1976, SOEN.

[9]  Linda M. Ott,et al.  The relationship between slices and module cohesion , 1989, ICSE '89.