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
Object-oriented metrics: measures of complexity
Object-oriented metrics: measures of complexity
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
Exploring the relationship between design measures and software quality in object-oriented systems
Journal of Systems and Software
A cohesion measure for object-oriented classes
Software—Practice & Experience
IEEE Transactions on Software Engineering
A Unified Framework for Cohesion Measurement in Object-OrientedSystems
Empirical Software Engineering
Replicated Case Studies for Investigating Quality Factorsin Object-Oriented Designs
Empirical Software Engineering
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Measuring Design-Level Cohesion
IEEE Transactions on Software Engineering
A discriminant metric for module cohesion
ICSE '84 Proceedings of the 7th international conference on Software engineering
ICBMC: An Improved Cohesion Measure for Classes
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
A Novel Approach to Measuring Class Cohesion Based on Dependence Analysis
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
A comparative study of graph theory-based class cohesion measures
ACM SIGSOFT Software Engineering Notes
Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction
IEEE Transactions on Software Engineering
The interpretation and utility of three cohesion metrics for object-oriented design
ACM Transactions on Software Engineering and Methodology (TOSEM)
Coupling and cohesion measures for evaluation of component reusability
Proceedings of the 2006 international workshop on Mining software repositories
Metrics for class cohesion and similarity between methods
Proceedings of the 44th annual Southeast regional conference
An empirical study of slice-based cohesion and coupling metrics
ACM Transactions on Software Engineering and Methodology (TOSEM)
External views on class cohesion
CompSysTech '07 Proceedings of the 2007 international conference on Computer systems and technologies
Classifying Software Changes: Clean or Buggy?
IEEE Transactions on Software Engineering
Using the Conceptual Cohesion of Classes for Fault Prediction in Object-Oriented Systems
IEEE Transactions on Software Engineering
Evaluating the Quality of Open Source Software
Electronic Notes in Theoretical Computer Science (ENTCS)
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
Journal of Systems and Software
Advanced Data Mining Techniques
Advanced Data Mining Techniques
An object-oriented high-level design-based class cohesion metric
Information and Software Technology
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
Measuring the Discriminative Power of Object-Oriented Class Cohesion Metrics
IEEE Transactions on Software Engineering
A Precise Method-Method Interaction-Based Cohesion Metric for Object-Oriented Classes
ACM Transactions on Software Engineering and Methodology (TOSEM)
Measuring the quality of structured designs
Journal of Systems and Software
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
A Precise Method-Method Interaction-Based Cohesion Metric for Object-Oriented Classes
ACM Transactions on Software Engineering and Methodology (TOSEM)
Information and Software Technology
Information and Software Technology
Object-oriented class maintainability prediction using internal quality attributes
Information and Software Technology
Hi-index | 0.00 |
Context: Class cohesion is an important object-oriented quality attribute. It refers to the degree of relatedness between the methods and attributes of a class. Several metrics have been proposed to measure the extent to which the class members are related. Most of these metrics have undefined values for a relatively high percentage of classes, which limits their applicability. The classes that have undefined values lack methods, attributes, or parameter types, or they include only a single method. Objective: We improve the applicability of the class cohesion metrics by defining their values for such special classes. In addition, we theoretically and empirically validate the improved metrics. Method: We theoretically examine whether the defined values satisfy the key cohesion properties. In addition, we empirically validate the metrics before and after the improvements to test whether the defined values improve the ability of the metrics to evaluate class cohesion. We also explore the correlation between the metrics and the presence of faulty classes to indirectly determine the strength or weakness of the metrics in indicating class quality. Results: The results show that our assigned values for the undefined cases do not violate the key cohesion properties and considerably improve the ability of the metrics to explain the presence of faulty classes and may therefore improve their ability to indicate the quality of the class design. Conclusions: Having the class cohesion metrics defined for all possible cases improves the applicability of the metrics and potentially increases their precision in indicating class quality.