An object-oriented high-level design-based class cohesion metric

Jehad Al Dallal, Lionel C. Briand

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish
Pages (from-to)1346-1361
Number of pages16
JournalInformation and Software Technology
Volume52
Issue number12
DOIs
Publication statusPublished - Dec 2010
Externally publishedYes

Keywords

  • Class cohesion
  • Fault prediction
  • Object-oriented design
  • Object-oriented software quality

Fingerprint

Dive into the research topics of 'An object-oriented high-level design-based class cohesion metric'. Together they form a unique fingerprint.

Cite this