Object-oriented cohesion subjectivity amongst experienced and novice developers: an empirical study
ACM SIGSOFT Software Engineering Notes
Does XP deliver quality and maintainable code?
XP'07 Proceedings of the 8th international conference on Agile processes in software engineering and extreme programming
An object-oriented high-level design-based class cohesion metric
Information and Software Technology
Does refactoring improve reusability?
ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
Evolution of developer social network and its impact on bug fixing process
Proceedings of the 6th India Software Engineering Conference
Hi-index | 0.00 |
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.