Litcius/Paper detail

A Hybrid Approach to Identify Code Smell Using Machine Learning Algorithms

Archana Patnaik, Neelamadhab Padhy

2021International Journal of Open Source Software and Processes15 citationsDOI

Abstract

Code smell aims to identify bugs that occurred during software development. It is the task of identifying design problems. The significant causes of code smell are complexity in code, violation of programming rules, low modelling, and lack of unit-level testing by the developer. Different open source systems like JEdit, Eclipse, and ArgoUML are evaluated in this work. After collecting the data, the best features are selected using recursive feature elimination (RFE). In this paper, the authors have used different anomaly detection algorithms for efficient recognition of dirty code. The average accuracy value of k-means, GMM, autoencoder, PCA, and Bayesian networks is 98%, 94%, 96%, 89%, and 93%. The k-means clustering algorithm is the most suitable algorithm for code detection. Experimentally, the authors proved that ArgoUML project is having better performance as compared to Eclipse and JEdit projects.

Topics & Concepts

Computer scienceEclipseCode (set theory)AlgorithmMachine learningArtificial intelligenceAutoencoderCluster analysisAnomaly detectionSource codeCode smellSoftwareData miningPattern recognition (psychology)Software developmentProgramming languageDeep learningSoftware qualitySet (abstract data type)PhysicsAstronomySoftware Engineering ResearchAdvanced Malware Detection TechniquesSoftware Reliability and Analysis Research