An Empirical Study on Code Smell Introduction and Removal in Deep Learning Software Projects

Jungil Kim, Eunjoo Lee

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish
Pages (from-to)765-786
Number of pages22
JournalInternational Journal of Software Engineering and Knowledge Engineering
Volume33
Issue number5
DOIs
StatePublished - 1 May 2023

Keywords

  • Deep learning
  • developer activity
  • DL application
  • software engineering practice
  • software maintenance
  • software repository mining

Fingerprint

Dive into the research topics of 'An Empirical Study on Code Smell Introduction and Removal in Deep Learning Software Projects'. Together they form a unique fingerprint.

Cite this