arrow
返回

Smell-ML: A Machine Learning Framework for Detecting Rarely Studied Code Smells

delete2025-01-01
delete0
delete
OA
AI
E
Esraa Hamouda *
A
Abeer ElKorany
S
Soha Makady
DOI:10.1109/ACCESS.2025.3530927delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Code smells are design flaws that reduce the software quality and maintainability. Machine learning classification models have been used to detect different code smells. However, such studies targeted code smells in depth, while leaving other under-explored smells; even so, such smells have a significant impact on source code quality. Recent surveys have highlighted a group of code smells that has rarely been studied by researchers. Furthermore, some machine learning classification models were evaluated on a subset of the source code features while ignoring significant features during classification. This paper proposes a novel approach, called Smell-ML, for detecting five rarely studied code smells: Middle Man (MM), Class Data Should Be Private (CDSBP), Inappropriate Intimacy (II), Refused Bequest (RB), and Speculative Generality (SG). The novelty of this approach stems from the improvement in both the data preparation and classification phases. During data preparation, Smell-ML relies on data balancing and an extended source code feature list to improve accuracy. In the classification phase, different classifiers were assessed, including traditional, ensemble, and multi-level classifiers. We evaluated Smell-ML on a dataset composed of 13 open source Java projects with 125 versions per project. The results show that Smell-ML's detection F1-score values surpass those of previous studies with significant improvements across various code smells. The F1-score measure of the 11 machine learning classifiers improved after using the extended feature list. Data balancing and multi-level classification notably boosted accuracy.
Keyword:
Codes
Feature extraction
Accuracy
Data models
Surveys
Software measurement
Ensemble learning
Random forests
Machine learning algorithms
Java
Code smell detection
machine learning
data balancing
ensemble learning
multi-level classification

期刊

IEEE Access 封面图
IEEE Access
IF:
3.6
论文数:
9.8W
被引数:
29.4W

机构

E
egyptian knowledge bank (ekb)
学者数:
11.6W
论文数: 9.3W
被引数: 84
引用论文

引用论文

err分享
err收藏
Popping Balloons: A Case Study of Dynamical Fragmentation
err2015-10-30
err0
PREAI
errSébastien Moulinet; Mokhtar Adda-Bedia
err分享
err收藏
err分享
err收藏
Recombination between an expressed immunoglobulin heavy-chain gene and a germline variable gene segment in a Ly 1+ B-cell lymphoma
err1986-08-01
err0
PREAI
errRobert Kleinfield; Richard R. Hardy; David Tarlinton; Jeffery Dangl; Leonard A. Herzenberg; Martin Weigert
err分享
err收藏
Catecholamine Response to Light in Migraine
err1988-03-01
err0
PREAI
errEmilian Stoica; Olimpia Enulescu
err分享
err收藏
学者 查看更多内容