4.5 Article

Code smell detection by deep direct-learning and transfer-learning?

期刊

JOURNAL OF SYSTEMS AND SOFTWARE
卷 176, 期 -, 页码 -

出版社

ELSEVIER SCIENCE INC
DOI: 10.1016/j.jss.2021.110936

关键词

Code smells; Smell detection tools; Deep learning; Transfer-learning

资金

  1. seneca project, Marie Sklodowska-Curie Innovative Training Networks (itn-eid) [642954]
  2. crossminer project from the European Union's Horizon 2020 Research and Innovation Programme [732223]
  3. National Infrastructures for Research and Technology s.a. (grnet s.a.) in the National hpc facility - aris [pa180903-smellsdl]
  4. Marie Curie Actions (MSCA) [642954] Funding Source: Marie Curie Actions (MSCA)

向作者/读者索取更多资源

This study explores the feasibility of using deep learning models to detect code smells without extensive feature engineering, as well as investigates the possibility of applying transfer-learning in the context of detecting code smells. The results show that deep learning methods can detect code smells, with performance varying depending on the specific smell, and transfer-learning is feasible for implementation smells with comparable performance to direct-learning.
Context: An excessive number of code smells make a software system hard to evolve and maintain. Machine learning methods, in addition to metric-based and heuristic-based methods, have been recently applied to detect code smells; however, current methods are considered far from mature. Objective: First, explore the feasibility of applying deep learning models to detect smells without extensive feature engineering. Second, investigate the possibility of applying transfer-learning in the context of detecting code smells. Methods: We train smell detection models based on Convolution Neural Networks and Recurrent Neural Networks as their principal hidden layers along with autoencoder models. For the first objective, we perform training and evaluation on C# samples, whereas for the second objective, we train the models from C# code and evaluate the models over Java code samples and vice-versa. Results: We find it feasible to detect smells using deep learning methods though the models' performance is smell-specific. Our experiments show that transfer-learning is definitely feasible for implementation smells with performance comparable to that of direct-learning. This work opens up a new paradigm to detect code smells by transfer-learning especially for the programming languages where the comprehensive code smell detection tools are not available. (C) 2021 Elsevier Inc. All rights reserved.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

4.5
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

暂无数据
暂无数据