Investigating the Role of Code Smells in Preventive Maintenance

The quest for improving the software quality has given rise to various studies which focus on the enhancement of the quality of software through various processes. Code smells, which are indicators of the software quality have not been put to an extensive study for as to determine their role in the...

Full description

Bibliographic Details
Main Authors: Junaid Ali Reshi, Satwinder Singh
Format: Article
Language:fas
Published: University of Tehran 2019-01-01
Series:Journal of Information Technology Management
Subjects:
Online Access:https://jitm.ut.ac.ir/article_72760_91519e1807204617d31463e6ac2d4cc2.pdf
id doaj-a2671c86d7bf42189c4df5c3d51eae2b
record_format Article
spelling doaj-a2671c86d7bf42189c4df5c3d51eae2b2020-11-25T01:23:26ZfasUniversity of TehranJournal of Information Technology Management 2008-58932423-50592019-01-01104416310.22059/jitm.2019.274968.233572760Investigating the Role of Code Smells in Preventive MaintenanceJunaid Ali Reshi0Satwinder Singh1PhD Candidate, Department of Computer Science and Technology, Central University of Punjab, Bhatinda, Punjab, India.Assistant Prof., Department of Computer Science and Technology, Central University of Punjab, Bhatinda, Punjab, India.The quest for improving the software quality has given rise to various studies which focus on the enhancement of the quality of software through various processes. Code smells, which are indicators of the software quality have not been put to an extensive study for as to determine their role in the prediction of defects in the software. This study aims to investigate the role of code smells in prediction of non-faulty classes. We examine the Eclipse software with four versions (3.2, 3.3, 3.6, and 3.7) for metrics and smells. Further, different code smells, derived subjectively through iPlasma, are taken into conjugation and three efficient, but subjective models are developed to detect code smells on each of Random Forest, J48 and SVM machine learning algorithms. This model is then used to detect the absence of defects in the four Eclipse versions. The effect of balanced and unbalanced datasets is also examined for these four versions. The results suggest that the code smells can be a valuable feature in discriminating absence of defects in a software.https://jitm.ut.ac.ir/article_72760_91519e1807204617d31463e6ac2d4cc2.pdfPreventive maintenanceCode smellsMachine learningRandom forest
collection DOAJ
language fas
format Article
sources DOAJ
author Junaid Ali Reshi
Satwinder Singh
spellingShingle Junaid Ali Reshi
Satwinder Singh
Investigating the Role of Code Smells in Preventive Maintenance
Journal of Information Technology Management
Preventive maintenance
Code smells
Machine learning
Random forest
author_facet Junaid Ali Reshi
Satwinder Singh
author_sort Junaid Ali Reshi
title Investigating the Role of Code Smells in Preventive Maintenance
title_short Investigating the Role of Code Smells in Preventive Maintenance
title_full Investigating the Role of Code Smells in Preventive Maintenance
title_fullStr Investigating the Role of Code Smells in Preventive Maintenance
title_full_unstemmed Investigating the Role of Code Smells in Preventive Maintenance
title_sort investigating the role of code smells in preventive maintenance
publisher University of Tehran
series Journal of Information Technology Management
issn 2008-5893
2423-5059
publishDate 2019-01-01
description The quest for improving the software quality has given rise to various studies which focus on the enhancement of the quality of software through various processes. Code smells, which are indicators of the software quality have not been put to an extensive study for as to determine their role in the prediction of defects in the software. This study aims to investigate the role of code smells in prediction of non-faulty classes. We examine the Eclipse software with four versions (3.2, 3.3, 3.6, and 3.7) for metrics and smells. Further, different code smells, derived subjectively through iPlasma, are taken into conjugation and three efficient, but subjective models are developed to detect code smells on each of Random Forest, J48 and SVM machine learning algorithms. This model is then used to detect the absence of defects in the four Eclipse versions. The effect of balanced and unbalanced datasets is also examined for these four versions. The results suggest that the code smells can be a valuable feature in discriminating absence of defects in a software.
topic Preventive maintenance
Code smells
Machine learning
Random forest
url https://jitm.ut.ac.ir/article_72760_91519e1807204617d31463e6ac2d4cc2.pdf
work_keys_str_mv AT junaidalireshi investigatingtheroleofcodesmellsinpreventivemaintenance
AT satwindersingh investigatingtheroleofcodesmellsinpreventivemaintenance
_version_ 1725122310166282240