An empirical investigation of the relationship between pattern grime and code smells

Maha Alharbi, Mohammad Alshayeb*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

Developers are encouraged to adopt good design practices to maintain good software quality during the system's evolution. However, some modifications and changes to the system could cause code smells and pattern grime, which might incur more maintenance effort. As the presence of both code smells and pattern grime is considered a bad sign and raises a flag at code segments that need more careful examination, a potential connection between them may exist. Therefore, the main objective of this paper is to (1) empirically investigate the potential relationship between the accumulation of pattern grime and the presence of code smells and (2) evaluate the significance of individual code smells when they appear in a specific pattern grime category. To achieve this goal, we performed an empirical study using six-grime metrics and 10 code smells on five Java open-source projects ranging from 217 to 563 classes. Our statistical results indicate that, in general, the growth of grime is more likely to co-occur with code smells using Spearman's correlation and Odd Ratio test. Specifically, there is a strong positive association between the growth of pattern grime at the class level and the presence of Shotgun Surgery smell according to the result of applying the Apriori algorithm, which gives conviction values equal to 1.66. The findings in this paper are helpful for developers and researchers as the presence of pattern grime could be considered a factor in improving the performance of existing smell detection methods. Furthermore, the link between grime and smells can be exploited as a hint for smell distribution in the system.

Original languageEnglish
Article numbere2666
JournalJournal of software: Evolution and Process
Volume36
Issue number9
DOIs
StatePublished - Sep 2024

Bibliographical note

Publisher Copyright:
© 2024 John Wiley & Sons Ltd.

Keywords

  • code smells
  • design patterns
  • pattern grime
  • software quality

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'An empirical investigation of the relationship between pattern grime and code smells'. Together they form a unique fingerprint.

Cite this