TY - JOUR
T1 - On the diffuseness and the impact on maintainability of code smells
T2 - A large scale empirical investigation
AU - Palomba, Fabio
AU - Bavota, Gabriele
AU - Di Penta, Massimiliano
AU - Fasano, Fausto
AU - Oliveto, Rocco
AU - De Lucia, Andrea
PY - 2017/8/7
Y1 - 2017/8/7
N2 - 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.
AB - 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.
KW - Code smells
KW - Empirical studies
KW - Mining software repositories
UR - http://resolver.tudelft.nl/uuid:230f66ba-8c64-410e-899a-fcbeb9b8f190
UR - http://www.scopus.com/inward/record.url?scp=85026909182&partnerID=8YFLogxK
U2 - 10.1007/s10664-017-9535-z
DO - 10.1007/s10664-017-9535-z
M3 - Article
AN - SCOPUS:85026909182
SN - 1382-3256
SP - 1
EP - 34
JO - Empirical Software Engineering
JF - Empirical Software Engineering
ER -