{"title":"Alleviating class imbalance in Feature Envy prediction: An oversampling technique based on code entity attributes","authors":"Jiamin Guo , Yangyang Zhao , Tao Zheng , Zhifei Chen , Mingyue Jiang , Zuohua Ding","doi":"10.1016/j.infsof.2025.107673","DOIUrl":null,"url":null,"abstract":"<div><h3>Context:</h3><div>Feature Envy is a common code smell that occurs when a method heavily relies on data or functionality from other classes. Detecting Feature Envy is essential for improving software modularity and reducing technical debt. However, real-world datasets often exhibit severe class imbalance, with far fewer Feature Envy instances than non-smelly ones, posing challenges for prediction models. Traditional oversampling techniques attempt to address this issue by relying solely on numerical vectors but often fail to capture the complex relationships between code entities, potentially deviating from the nature of Feature Envy.</div></div><div><h3>Objective:</h3><div>This study introduces STANDER, a novel oversampling technique based on code entity similarity, designed to handle class imbalance in Feature Envy prediction by generating synthetic samples that better reflect the characteristics of Feature Envy.</div></div><div><h3>Method:</h3><div>STANDER creates synthetic samples by leveraging multidimensional code entity similarity, incorporating attributes such as dependency relationships, historical changes and code text. It was evaluated on five datasets using five classifiers: Naive Bayes, Logistic Regression, Support Vector Machine, Random Forest, and Decision Tree. Its performance was compared to baseline over-sampling techniques based on precision, recall, F1-score, and Matthews Correlation Coefficient.</div></div><div><h3>Results:</h3><div>STANDER enhances dataset diversity while maintaining clear boundaries between minority and majority classes, as reflected by higher Nearest Neighbor Diversity and Silhouette Score values. Models balanced with STANDER exhibited significant improvements in predictive performance, particularly in recall, F1-score, and Matthews Correlation Coefficient. Compared to the other oversampling techniques, STANDER demonstrated advantages in handling imbalanced datasets, especially in the Logistic Regression and Decision Tree classifiers. Statistical results confirm significant performance improvements across most models, highlighting its effectiveness and applicability.</div></div><div><h3>Conclusion:</h3><div>STANDER is an effective solution to alleviate class imbalance problem in Feature Envy detection by generating more representative synthetic samples that improve prediction performance.</div></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"180 ","pages":"Article 107673"},"PeriodicalIF":3.8000,"publicationDate":"2025-01-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Information and Software Technology","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0950584925000126","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, INFORMATION SYSTEMS","Score":null,"Total":0}
引用次数: 0
Abstract
Context:
Feature Envy is a common code smell that occurs when a method heavily relies on data or functionality from other classes. Detecting Feature Envy is essential for improving software modularity and reducing technical debt. However, real-world datasets often exhibit severe class imbalance, with far fewer Feature Envy instances than non-smelly ones, posing challenges for prediction models. Traditional oversampling techniques attempt to address this issue by relying solely on numerical vectors but often fail to capture the complex relationships between code entities, potentially deviating from the nature of Feature Envy.
Objective:
This study introduces STANDER, a novel oversampling technique based on code entity similarity, designed to handle class imbalance in Feature Envy prediction by generating synthetic samples that better reflect the characteristics of Feature Envy.
Method:
STANDER creates synthetic samples by leveraging multidimensional code entity similarity, incorporating attributes such as dependency relationships, historical changes and code text. It was evaluated on five datasets using five classifiers: Naive Bayes, Logistic Regression, Support Vector Machine, Random Forest, and Decision Tree. Its performance was compared to baseline over-sampling techniques based on precision, recall, F1-score, and Matthews Correlation Coefficient.
Results:
STANDER enhances dataset diversity while maintaining clear boundaries between minority and majority classes, as reflected by higher Nearest Neighbor Diversity and Silhouette Score values. Models balanced with STANDER exhibited significant improvements in predictive performance, particularly in recall, F1-score, and Matthews Correlation Coefficient. Compared to the other oversampling techniques, STANDER demonstrated advantages in handling imbalanced datasets, especially in the Logistic Regression and Decision Tree classifiers. Statistical results confirm significant performance improvements across most models, highlighting its effectiveness and applicability.
Conclusion:
STANDER is an effective solution to alleviate class imbalance problem in Feature Envy detection by generating more representative synthetic samples that improve prediction performance.
期刊介绍:
Information and Software Technology is the international archival journal focusing on research and experience that contributes to the improvement of software development practices. The journal''s scope includes methods and techniques to better engineer software and manage its development. Articles submitted for review should have a clear component of software engineering or address ways to improve the engineering and management of software development. Areas covered by the journal include:
• Software management, quality and metrics,
• Software processes,
• Software architecture, modelling, specification, design and programming
• Functional and non-functional software requirements
• Software testing and verification & validation
• Empirical studies of all aspects of engineering and managing software development
Short Communications is a new section dedicated to short papers addressing new ideas, controversial opinions, "Negative" results and much more. Read the Guide for authors for more information.
The journal encourages and welcomes submissions of systematic literature studies (reviews and maps) within the scope of the journal. Information and Software Technology is the premiere outlet for systematic literature studies in software engineering.