arrow
Return

Dynamic stacking ensemble for cross-language code smell detection

delete2024-08-15
delete0
delete
OA
AI
H
Hamoud Aljamaan *
DOI:10.7717/peerj-cs.2254delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Code smells refer to poor design and implementation choices by software engineers that might affect the overall software quality. Code smells detection using machine learning models has become a popular area to build effective models that are capable of detecting different code smells in multiple programming languages. However, the process of building of such effective models has not reached a state of stability, and most of the existing research focuses on Java code smells detection. The main objective of this article is to propose dynamic ensembles using two strategies, namely greedy search and backward elimination, which are capable of accurately detecting code smells in two programming languages (i.e., Java and Python), and which are less complex than full stacking ensembles. The detection performance of dynamic ensembles were investigated within the context of four Java and two Python code smells. The greedy search and backward elimination strategies yielded different base models lists to build dynamic ensembles. In comparison to full stacking ensembles, dynamic ensembles yielded less complex models when they were used to detect most of the investigated Java and Python code smells, with the backward elimination strategy resulting in less complex models. Dynamic ensembles were able to perform comparably against full stacking ensembles with no significant detection loss. This article concludes that dynamic stacking ensembles were able to facilitate the effective and stable detection performance of Java and Python code smells over all base models and with less complexity than full stacking ensembles.
Keywords:
Stacking ensemble
Ensemble learning
Code smell
Dynamic ensemble
Detection
Machine learning
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

PeerJ Computer Science cover
PeerJ Computer Science
IF:
2.5
Papers:
3.4K
Citations:
6.9K

Organization

No organization information available
Cited Papers

Cited Papers

Correlation of CrystaL Growth with the Staining of Axons by the Golgi Procedure
err2009-07-12
err0
PREAI
errValentino Braitenberg; Vittorio Guglielmotti; Enrico Sada
errShare
errSave
Comparing and experimenting machine learning techniques for code smell detection
err2015-06-06
err277
PREAI
errFontana, Francesca Arcelli; Mantyla, Mika V.; Zanoni, Marco; Marino, Alessandro
errShare
errSave
Proactive Secret Sharing Or: How to Cope With Perpetual Leakage
err2001-07-13
err0
errOAAI
errAmir Herzberg; Stanisław Jarecki; Hugo Krawczyk; Moti Yung
errShare
errSave
Ghrelin and male reproduction
err2019-01-01
err0
errOAAI
errSulagna Dutta; Anupam Biswas; Pallav Sengupta; Uchenna Nwagha
errShare
errSave
Deep Learning Based Code Smell Detection
err2021-01-01
err79
PREAI
errLiu, Hui; Jin, Jiahao; Xu, Zhifeng; Zou, Yanzhen; Bu, Yifan; Zhang, Lu
errShare
errSave
errShare
errSave
researcher View more