1. Examining deep learning's capability to spot code smells: a systematic literature review.
- Author
-
Malhotra, Ruchika, Jain, Bhawna, and Kessentini, Marouane
- Subjects
DEEP learning ,SMELL ,RECURRENT neural networks ,CONVOLUTIONAL neural networks ,COMPUTER software development ,MACHINE learning - Abstract
Code smells violate software development principles that make the software more prone to errors and changes. Researchers have developed code smell detectors using manual and semi-automatic methods to identify these issues. However, three key challenges have limited the practical use of these detectors: developers' subjective perceptions of code smells, lack of consensus in the detection process, and difficulty in setting appropriate detection thresholds. While code smell detection using machine learning has progressed significantly, there still appears to be a gap in understanding the effective utilization of deep learning (DL) approaches. This paper aims to review and identify current methods for code smell detection using DL techniques. A systematic literature review is conducted on 35 primary studies from a collection of 8739 publications between 2013 and the present. The analysis reveals that common code smells detected include Feature Envy, God Classes, Long Methods, Complex Classes, and Large Classes. The most popular DL algorithms used are Recurrent Neural Networks (RNN) and Convolutional Neural Networks (CNN), often combined with other techniques for better results. Algorithms that train models on large datasets with fewer independent variables demonstrate exemplary performance. The paper also highlights open issues and provides guidelines for future metric identification and selection research. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF