Towards a metrics suite for object oriented design
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Cohesion and reuse in an object-oriented system
SSR '95 Proceedings of the 1995 Symposium on Software reusability
Property-Based Software Engineering Measurement
IEEE Transactions on Software Engineering
A Validation of Object-Oriented Design Metrics as Quality Indicators
IEEE Transactions on Software Engineering
Software metrics (2nd ed.): a rigorous and practical approach
Software metrics (2nd ed.): a rigorous and practical approach
Rule-based approach to computing module cohesion
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Defining and Validating Measures for Object-Based High-Level Design
IEEE Transactions on Software Engineering
A Hierarchical Model for Object-Oriented Design Quality Assessment
IEEE Transactions on Software Engineering
A Unified Framework for Cohesion Measurement in Object-OrientedSystems
Empirical Software Engineering
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Measuring Coupling and Cohesion: An Information-Theory Approach
METRICS '99 Proceedings of the 6th International Symposium on Software Metrics
An Empirical Study of Amorphous Slicing as a Program Comprehension Support Tool
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
Coupling and cohesion metrics for knowledge-based systems using frames and rules
ACM Transactions on Software Engineering and Methodology (TOSEM)
Object-oriented cohesion subjectivity amongst experienced and novice developers: an empirical study
ACM SIGSOFT Software Engineering Notes
Theoretical validation of object-oriented lack-of-cohesion metrics
SEPADS'09 Proceedings of the 8th WSEAS International Conference on Software engineering, parallel and distributed systems
Validating object-oriented class cohesion metrics mathematically
SEPADS'10 Proceedings of the 9th WSEAS international conference on Software engineering, parallel and distributed systems
Is a strategy for code smell assessment long overdue?
Proceedings of the 2010 ICSE Workshop on Emerging Trends in Software Metrics
An object-oriented high-level design-based class cohesion metric
Information and Software Technology
An empirical validation of the suite of metrics for object-relational data modelling
International Journal of Intelligent Information and Database Systems
Improving object-oriented lack-of-cohesion metric by excluding special methods
SEPADS'11 Proceedings of the 10th WSEAS international conference on Software engineering, parallel and distributed systems
Improving the applicability of object-oriented class cohesion metrics
Information and Software Technology
An empirical investigation on the reusability of design patterns and software packages
Journal of Systems and Software
A Precise Method-Method Interaction-Based Cohesion Metric for Object-Oriented Classes
ACM Transactions on Software Engineering and Methodology (TOSEM)
Information and Software Technology
The ability of object-oriented metrics to predict change-proneness: a meta-analysis
Empirical Software Engineering
Information and Software Technology
Experimental assessment of software metrics using automated refactoring
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
A heuristic approach to locate candidate web service in legacy software
International Journal of Computer Applications in Technology
Object-oriented class maintainability prediction using internal quality attributes
Information and Software Technology
An in-depth study of the potentially confounding effect of class size in fault prediction
ACM Transactions on Software Engineering and Methodology (TOSEM)
System performance analyses through object-oriented fault and coupling prisms
Proceedings of the 5th ACM/SPEC international conference on Performance engineering
Hi-index | 0.01 |
The concept of cohesion in a class has been the subject of various recent empirical studies and has been measured using many different metrics. In the structured programming paradigm, the software engineering community has adopted an informal yet meaningful and understandable definition of cohesion based on the work of Yourdon and Constantine. The object-oriented (OO) paradigm has formalised various cohesion measures, but the argument over the most meaningful of those metrics continues to be debated. Yet achieving highly cohesive software is fundamental to its comprehension and thus its maintainability. In this article we subject two object-oriented cohesion metrics, CAMC and NHD, to a rigorous mathematical analysis in order to better understand and interpret them. This analysis enables us to offer substantial arguments for preferring the NHD metric to CAMC as a measure of cohesion. Furthermore, we provide a complete understanding of the behaviour of these metrics, enabling us to attach a meaning to the values calculated by the CAMC and NHD metrics. In addition, we introduce a variant of the NHD metric and demonstrate that it has several advantages over CAMC and NHD. While it may be true that a generally accepted formal and informal definition of cohesion continues to elude the OO software engineering community, there seems considerable value in being able to compare, contrast, and interpret metrics which attempt to measure the same features of software.