Experimental evaluation of agreement between programmers in applying the rules of cohesion

Jagadeesh Nandigam, Arun Lakhotia and Claude Cech

CACS-TR-5-8-2
April 1998

Abstract

In the early 1970s Stevens, Myers, Constantine, and Yourdon introduced the notion of module cohesion and presented rules that could be used to assess the cohesion of a module . Their rules consisted of a set of relations ordered to constitute levels, and the criterion that a module was assigned the lowest of the levels of the relations it satisfied. Stevens et al.'s rules of cohesion are now covered in most software engineering textbook, even though they have never been subjected to any experimental analysis. This paper presents the results of an experiment analyzing these rules of cohesion. The experiment, using fifteen computer science graduate students as subjects, was conducted to assess whether Stevens et al.'s rules were objective, i.e., whether there is above-chance agreement in the cohesion levels assigned by different programmers. The data collected indicates that, even though the subjects were assessed to have understood the concepts well, there is a significant variation in the cohesion levels assigned by them. This result raises questions about the precision of the material taught in the software engineering curriculum.

Index terms: Software metrics, software measures, cohesion, experimentation in software engineering, experiment design.

Full paper