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
IEEE Transactions on Software Engineering
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process
Designing Concurrent, Distributed, and Real-Time Applications with Uml
Designing Concurrent, Distributed, and Real-Time Applications with Uml
Software Metrics: A Rigorous and Practical Approach
Software Metrics: A Rigorous and Practical Approach
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
Towards a Framework for Software Measurement Validation
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
Comprehension of Object-Oriented Software Cohesion: The Empirical Quagmire
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
A Novel Approach to Measuring Class Cohesion Based on Dependence Analysis
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
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)
UML 2.0 in a Nutshell (In a Nutshell (O'Reilly))
UML 2.0 in a Nutshell (In a Nutshell (O'Reilly))
An empirical study of slice-based cohesion and coupling metrics
ACM Transactions on Software Engineering and Methodology (TOSEM)
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)
Journal of Systems and Software
Object-Oriented Software Engineering Using UML, Patterns, and Java
Object-Oriented Software Engineering Using UML, Patterns, and Java
Advanced Data Mining Techniques
Advanced Data Mining Techniques
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)
ICCSA'06 Proceedings of the 2006 international conference on Computational Science and Its Applications - Volume Part II
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
Sustainability evaluation of software architectures: a systematic review
Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS
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
Experimental assessment of software metrics using automated refactoring
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
An approach for web service discoverability anti-pattern detection for journal of web engineering
Journal of Web Engineering
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 software quality attribute. Assessing class cohesion during the object-oriented design phase is one important way to obtain more comprehensible and maintainable software. In practice, assessing and controlling cohesion in large systems implies measuring it automatically. One issue with the few existing cohesion metrics targeted at the high-level design phase is that they are not based on realistic assumptions and do not fulfill expected mathematical properties. Objective: This paper proposes a High-Level Design (HLD) class cohesion metric, which is based on realistic assumptions, complies with expected mathematical properties, and can be used to automatically assess design quality at early stages using UML diagrams. Method: The notion of similarity between pairs of methods and pairs of attribute types in a class is introduced and used as a basis to introduce a novel high-level design class cohesion metric. The metric considers method-method, attribute-attribute, and attribute-method direct and transitive interactions. We validate this Similarity-based Class Cohesion (SCC) metric theoretically and empirically. The former includes a careful study of the mathematical properties of the metric whereas the latter investigates, using four open source software systems and 10 cohesion metrics, whether SCC is based on realistic assumptions and whether it better explains the presence of faults, from a statistical standpoint, than other comparable cohesion metrics, considered individually or in combination. Results: Results confirm that SCC is based on clearly justified theoretical principles, relies on realistic assumptions, and is an early indicator of quality (fault occurrences). Conclusion: It is concluded that SCC is both theoretically valid and supported by empirical evidence. It is a better alternative to measure class cohesion than existing HLD class cohesion metrics.