STOA-C: integrating sandpiper optimization with decision trees for code smell identification in object-oriented system(s)
Software systems are increasingly vital in contemporary society, creating a persistent demand for high-quality and maintainable code. However, code smells may emerge during both the design and implementation phases, making software systems more difficult to evolve and maintain. Consequently, identifying the causes of code smells and detecting them effectively is important for improving software quality, reducing maintenance effort, and enhancing maintainability, readability, and extensibility. In this study, the C5.0 machine learning technique is employed to detect Fowler’s eight code smells, namely: Long Parameter List, Data Class, Long Method, Feature Envy, Functional Decomposition, Spaghetti Code, Large Class, and Blob, across five Java open-source systems namely, Log4j, Xerces-J, Eclipse, GanttProject, and ArgoUML. While C5.0 is effective for classification tasks, it is sensitive to hyperparameter settings. To address this limitation, the Sandpiper Optimization Algorithm (STOA) is integrated with C5.0 (referred to as STOA-C) to identify an appropriate subset of software metrics for code smell detection. The proposed framework is evaluated through a set of experiments using standard performance measures such as Precision, Recall, and F-measure. The results and comparative analysis are presented in the Results section to assess the effectiveness of the proposed approach against existing techniques.
Authors
- Amandeep Kaur (ORCID: https://orcid.org/0000-0002-7282-8902)
Institutions
- National Institute of Technology Kurukshetra (IN)
Publication Details
- Journal
- Scientific Reports
- Published
- 2026-09-25
- DOI
- https://doi.org/10.1038/s41598-026-68294-z
- Primary Topic
- Software Engineering Research
- Type
- article
- Field-Weighted Citation Impact
- 0.00