Comprehension of Object-Oriented Software Cohesion: The Empirical Quagmire

  • Authors:
  • Steve Counsell;Emilia Mendes;Stephen Swift

  • Affiliations:
  • -;-;-

  • Venue:
  • IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

It is a little over ten years since Chidamber and Kemerer's object-oriented (OO) metric suite which included the Lack of Cohesion Of Methods (LCOM) metric was first proposed [9]. Despite considerable effort both theoretically and empirically since then, the software engineering community is still no nearer finding a generally accepted definition or measure of OO cohesion. Yet, achieving highly cohesive software is a cornerstone of software comprehension and hence, maintainability. In this paper, we suggest a number of suppositions as to why a definition has eluded (and we feel will continue to elude) us. We support these suppositions with empirical evidence from three large C++ systems and a cohesion metric based on the parameters of the class methods; we also draw from other related work. Two major conclusions emerge from the study. Firstly, any sensible cohesion metric does at least provide insight into the features of the systems being analysed. Secondly however, and less reassuringly, the deeper the investigative search for a definitive measure of cohesion, the more problematic its understanding becomes; this casts serious doubt on the use of cohesion as a meaningful feature of object-orientation and its viability as a tool for software comprehension.