Return
Machine learning based improved cross-project software defect prediction using new structural features in object oriented software
DOI:10.1016/j.asoc.2024.112082.png)
Abstract
En 中文
Cross-project software defect prediction (CPSDP) uses data from other projects to train the defect prediction model and is often used for new projects for which previous versions of the software are not available. Most of the latest CPSDP models are based on machine learning (ML), and ML algorithms use code quality metrics of the project as input. Existing ML-based CPSDP models use trivial count-based code quality metrics of the code's object-oriented features, which can hardly capture the structural characteristics of the code and are insufficient to develop a good CPSDP model. So, this research article proposes an improved ML-based CPSDP model that uses new structural code metrics as input features. Proposed source code metrics capture the structural characteristics of the code, such as complexity of the class, coupling, lack of cohesion, abstraction, inheritance coupling, and polymorphism, in a better way than existing source code metrics. Datasets of selected projects are prepared based on the proposed structural code metrics, and a new t-test-based procedure for project selection to prepare training datasets for ML algorithms is proposed. Finally, the most appropriate ML algorithm, extreme gradient boost, is selected for our proposed CPSDP model based on three performance metrics: AUC, accuracy, and balance between AUC and accuracy (BBAA). The balance between AUC and accuracy (BBAA) is proposed in this article. The proposed CPSDP model is compared with six existing models, and results show a significant improvement in the performance.
Keywords:
Code metrics
Cross-project defect prediction
Machine learning
Structural features
Journal
IF:
6.6
Papers:
1.4W
Citations:
4.8W

