Related Experiment Video
Updated: Jul 26, 2025

Design and Analysis for Fall Detection System Simplification
Published on: April 6, 2020
Python code smells detection using conventional machine learning models
Rana Sandouka1, Hamoud Aljamaan1
1Information and Computer Science Department, King Fahd University of Petroleum and Minerals, Dhahran, Saudi Arabia.
Abstract:
Code smells are poor code design or implementation that affect the code maintenance process and reduce the software quality. Therefore, code smell detection is important in software building. Recent studies utilized machine learning algorithms for code smell detection. However, most of these studies focused on code smell detection using Java programming language code smell datasets. This article proposes a Python code smell dataset for Large Class and Long Method code smells. The built dataset contains 1,000 samples for each code smell, with 18 features extracted from the source code. Furthermore, we investigated the detection performance of six machine learning models as baselines in Python code smells detection. The baselines were evaluated based on Accuracy and Matthews correlation coefficient (MCC) measures. Results indicate the superiority of Random Forest ensemble in Python Large Class code smell detection by achieving the highest detection performance of 0.77 MCC rate, while decision tree was the best performing model in Python Long Method code smell detection by achieving the highest MCC Rate of 0.89.
Related Concept Videos
Quantifying and Rejecting Outliers: The Grubbs Test
Types of Errors: Detection and Minimization
Absolute error in a measurement is the numerical difference from the true or central value. Relative error is the ratio between absolute error and the true or central value, expressed as a percentage.
Errors can be classified by source, magnitude, and sign. There are three types of errors: systematic, random, and gross.
Systematic or...
Detection of Gross Error: The Q Test
Classification of Signals
A continuous-time signal holds a value at every instant in time, representing information seamlessly. In contrast, a discrete-time signal holds values only at specific moments, often denoted as x(n), where...
Goodness-of-Fit Test
Survival Tree
Building a Survival Tree
Constructing a...

