The relationship between slices and module cohesion

High module cohesion is often suggested as a desirable property of program modularity. The subjective nature of the definition of cohesion, however, can make it difficult to use in practice. In this paper, we examine the relationship between the data flow in a module and its level of cohesion using aprocessing element flow graph (PFG). Based on these PFG's, we regroup the original seven levels of cohesion into four classifications, Slice profiles are then defined by generating slices for all output variables of a module. A relationship is then shown between these slice profiles and the, PFG used to indicate levels of cohesion. It is suggested that these slice profiles can be used to determine more easily the cohesiveness of a module.