On the diffuseness and the impact on maintainability of code smells: A large scale empirical investigation

Fabio Palomba*, Gabriele Bavota, Massimiliano Di Penta, Fausto Fasano, Rocco Oliveto, Andrea De Lucia

*Corresponding author for this work

Research output: Contribution to journalArticleScientificpeer-review

188 Citations (Scopus)
136 Downloads (Pure)

Abstract

Code smells are symptoms of poor design and implementation choices that may hinder code comprehensibility and maintainability. Despite the effort devoted by the research community in studying code smells, the extent to which code smells in software systems affect software maintainability remains still unclear. In this paper we present a large scale empirical investigation on the diffuseness of code smells and their impact on code change- and fault-proneness. The study was conducted across a total of 395 releases of 30 open source projects and considering 17,350 manually validated instances of 13 different code smell kinds. The results show that smells characterized by long and/or complex code (e.g., Complex Class) are highly diffused, and that smelly classes have a higher change- and fault-proneness than smell-free classes.

Original languageEnglish
Pages (from-to)1-34
Number of pages34
JournalEmpirical Software Engineering
DOIs
Publication statusE-pub ahead of print - 7 Aug 2017

Keywords

  • Code smells
  • Empirical studies
  • Mining software repositories

Fingerprint

Dive into the research topics of 'On the diffuseness and the impact on maintainability of code smells: A large scale empirical investigation'. Together they form a unique fingerprint.

Cite this