TY - JOUR
T1 - An Empirical Study on Code Smell Introduction and Removal in Deep Learning Software Projects
AU - Kim, Jungil
AU - Lee, Eunjoo
N1 - Publisher Copyright:
© World Scientific Publishing Company.
PY - 2023/5/1
Y1 - 2023/5/1
N2 - With increasing popularity of Deep Learning (DL) software development, code quality issues arise in DL software development. Code smell is one of the factors which reduce the quality of source code. Several previous studies investigated the prevalence of code smell in DL software systems to evaluate the quality of DL source code. However, there is still a lack of understanding of the awareness of individual DL developers in code smell. To more deeply understand the code smell risk in DL software development, it is needed to investigate the code smell awareness of DL developers. In this paper, we present an empirical study on code smell practices of DL developers. Specifically, we performed a quantitative analysis on code smell introduction and removal practices of DL developers. We collected a dataset of code smell introduction and removal history of DL developers from several open source DL software GitHub repositories. We then quantitatively analyzed the collected dataset. As a result of the quantitative analysis, we observed the following three findings on code smell introduction and removal practices of DL developers. First, DL developers tend to perform code smell introduction practice more than code smell removal practice. Second, DL developers have slightly broader code smell introduction scope than code smell removal scope. Third, regular and irregular DL developers have less di®erence in both code smell introduction and removal practices. The results indicate that DL developers have very poor awareness on code smell risk. Our ¯ndings suggest that DL software development project managers should provide a helpful guideline that makes DL developers actively participate code smell removal tasks.
AB - With increasing popularity of Deep Learning (DL) software development, code quality issues arise in DL software development. Code smell is one of the factors which reduce the quality of source code. Several previous studies investigated the prevalence of code smell in DL software systems to evaluate the quality of DL source code. However, there is still a lack of understanding of the awareness of individual DL developers in code smell. To more deeply understand the code smell risk in DL software development, it is needed to investigate the code smell awareness of DL developers. In this paper, we present an empirical study on code smell practices of DL developers. Specifically, we performed a quantitative analysis on code smell introduction and removal practices of DL developers. We collected a dataset of code smell introduction and removal history of DL developers from several open source DL software GitHub repositories. We then quantitatively analyzed the collected dataset. As a result of the quantitative analysis, we observed the following three findings on code smell introduction and removal practices of DL developers. First, DL developers tend to perform code smell introduction practice more than code smell removal practice. Second, DL developers have slightly broader code smell introduction scope than code smell removal scope. Third, regular and irregular DL developers have less di®erence in both code smell introduction and removal practices. The results indicate that DL developers have very poor awareness on code smell risk. Our ¯ndings suggest that DL software development project managers should provide a helpful guideline that makes DL developers actively participate code smell removal tasks.
KW - Deep learning
KW - developer activity
KW - DL application
KW - software engineering practice
KW - software maintenance
KW - software repository mining
UR - http://www.scopus.com/inward/record.url?scp=85153963150&partnerID=8YFLogxK
U2 - 10.1142/S0218194023500146
DO - 10.1142/S0218194023500146
M3 - Article
AN - SCOPUS:85153963150
SN - 0218-1940
VL - 33
SP - 765
EP - 786
JO - International Journal of Software Engineering and Knowledge Engineering
JF - International Journal of Software Engineering and Knowledge Engineering
IS - 5
ER -