Identifying Key Software Metrics for Fault Prediction Using Advanced Feature Selection
摘要
In contemporary software development, ensuring high code quality is paramount for maintaining system reliability, scalability, and maintainability. However, identifying the most effective metrics for fault prediction remains a challenge due to the varying contributions of these metrics to model accuracy. This study investigates the significance of software metrics in fault prediction by applying feature selection techniques, including Regression, ANOVA, Decision Tree, Chi-square, Extra Tree, XGBoost, Random Forest, and Recursive Feature Elimination. Using the PROMISE repository Ant-1.7 dataset, the analysis identifies Response for Class (RFC) and Lines of Code (LOC) as “Very High” effective metrics, while Cohesion Among Methods (CAM) is rated as “High” in relevance. Metrics such as Average Method Complexity (AMC), Weighted Methods per Class (WMC), and Efferent Couplings (CE), Average Cyclomatic Complexity (AVG_CC), Message Passing Coupling Factor (MFA) show “Average” importance, whereas others like Normalized Lack of Cohesion in Methods (LCOM3), Maximum Cyclomatic Complexity (MAX_CC), and Lack of Cohesion in Methods (LCOM) are considered exhibit “Low” importance. Finally, Metrics such as the Number of Public Methods (NPM) are deemed “Very Low” in importance, reflecting their minimal influence on fault-proneness assessment. The findings provide actionable insights for optimizing resource allocation and improving software quality, offering a structured framework for prioritizing key metrics in software fault prediction.