{"title":"Software design smells prediction using machine learning with evolutionary and structural metrics of source code","authors":"Kapil Sharma, Jitender Kumar Chhabra","doi":"10.1016/j.cola.2025.101373","DOIUrl":null,"url":null,"abstract":"<div><div>Software design smells refer to structural abnormalities in a software system that negatively impact maintainability and evolution. Prior research relies on structural metrics for software smell prediction and did not consider the evolutionary aspect. This paper proposes an evolutionary and structural metrics-based method for predicting design smells. A dataset has been curated using multiple versions of Java projects. The proposed method uses ensemble classifiers for classification of design smells, and findings show that adding evolutionary features with structural makes predictions more accurate. In all the design smells, both evolutionary and structural metrics together work better than using structural metrics alone.</div></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"86 ","pages":"Article 101373"},"PeriodicalIF":1.8000,"publicationDate":"2026-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Computer Languages","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2590118425000590","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2025/11/29 0:00:00","PubModel":"Epub","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
Software design smells refer to structural abnormalities in a software system that negatively impact maintainability and evolution. Prior research relies on structural metrics for software smell prediction and did not consider the evolutionary aspect. This paper proposes an evolutionary and structural metrics-based method for predicting design smells. A dataset has been curated using multiple versions of Java projects. The proposed method uses ensemble classifiers for classification of design smells, and findings show that adding evolutionary features with structural makes predictions more accurate. In all the design smells, both evolutionary and structural metrics together work better than using structural metrics alone.