TY - JOUR
T1 - Beyond Technical Aspects
T2 - How Do Community Smells Influence the Intensity of Code Smells?
AU - Palomba, Fabio
AU - Tamburri, Damian Andrew
AU - Arcelli Fontana, Francesca
AU - Oliveto, Rocco
AU - Zaidman, Andy
AU - Serebrenik, Alexander
PY - 2021
Y1 - 2021
N2 - Code smells are poor implementation choices applied by developers during software evolution that often lead to critical flaws or failure. Much in the same way, community smells reflect the presence of organizational and socio-Technical issues within a software community that may lead to additional project costs. Recent empirical studies provide evidence that community smells are often-if not always-connected to circumstances such as code smells. In this paper we look deeper into this connection by conducting a mixed-methods empirical study of 117 releases from 9 open-source systems. The qualitative and quantitative sides of our mixed-methods study were run in parallel and assume a mutually-confirmative connotation. On the one hand, we survey 162 developers of the 9 considered systems to investigate whether developers perceive relationship between community smells and the code smells found in those projects. On the other hand, we perform a fine-grained analysis into the 117 releases of our dataset to measure the extent to which community smells impact code smell intensity (i.e., criticality). We then propose a code smell intensity prediction model that relies on both technical and community-related aspects. The results of both sides of our mixed-methods study lead to one conclusion: community-related factors contribute to the intensity of code smells. This conclusion supports the joint use of community and code smells detection as a mechanism for the joint management of technical and social problems around software development communities.
AB - Code smells are poor implementation choices applied by developers during software evolution that often lead to critical flaws or failure. Much in the same way, community smells reflect the presence of organizational and socio-Technical issues within a software community that may lead to additional project costs. Recent empirical studies provide evidence that community smells are often-if not always-connected to circumstances such as code smells. In this paper we look deeper into this connection by conducting a mixed-methods empirical study of 117 releases from 9 open-source systems. The qualitative and quantitative sides of our mixed-methods study were run in parallel and assume a mutually-confirmative connotation. On the one hand, we survey 162 developers of the 9 considered systems to investigate whether developers perceive relationship between community smells and the code smells found in those projects. On the other hand, we perform a fine-grained analysis into the 117 releases of our dataset to measure the extent to which community smells impact code smell intensity (i.e., criticality). We then propose a code smell intensity prediction model that relies on both technical and community-related aspects. The results of both sides of our mixed-methods study lead to one conclusion: community-related factors contribute to the intensity of code smells. This conclusion supports the joint use of community and code smells detection as a mechanism for the joint management of technical and social problems around software development communities.
KW - Code smells
KW - community smells
KW - mixed-methods study
KW - organizational structure
UR - http://www.scopus.com/inward/record.url?scp=85057852491&partnerID=8YFLogxK
U2 - 10.1109/TSE.2018.2883603
DO - 10.1109/TSE.2018.2883603
M3 - Article
AN - SCOPUS:85057852491
VL - 47
SP - 108
EP - 129
JO - IEEE Transactions on Software Engineering
JF - IEEE Transactions on Software Engineering
SN - 0098-5589
IS - 1
M1 - 8546762
ER -