Litcius/Paper detail

Software defect prediction based on nested-stacking and heterogeneous feature selection

Liqiong Chen, Can Wang, Shilong Song

2022Complex & Intelligent Systems65 citationsDOIOpen Access PDF

Abstract

Abstract Software testing guarantees the delivery of high-quality software products, and software defect prediction (SDP) has become an important part of software testing. Software defect prediction is divided into traditional software defect prediction and just-in-time software defect prediction (JIT-SDP). However, most of the existing software defect prediction frameworks are relatively simplified, which makes it extremely difficult to provide developers with more detailed reference information. To improve the effectiveness of software defect prediction and realize effective software testing resource allocation, this paper proposes a software defect prediction framework based on Nested-Stacking and heterogeneous feature selection. The framework includes three stages: data set preprocessing and feature selection, Nested-Stacking classifier, and model classification performance evaluation. The novel heterogeneous feature selection and nested custom classifiers in the framework can effectively improve the accuracy of software defect prediction. This paper conducts experiments on two software defect data sets (Kamei, PROMISE), and demonstrates the classification performance of the model through two comprehensive evaluation indicators, AUC, and F1-score. The experiment carried out large-scale within-project defect prediction (WPDP) and cross-project defect prediction (CPDP). The results show that the framework proposed in this paper has an excellent classification performance on the two types of software defect data sets, and has been greatly improved compared with the baseline models.

Topics & Concepts

Computer scienceFeature selectionData miningSoftware bugSoftwareSoftware qualitySoftware metricMachine learningClassifier (UML)Software sizingArtificial intelligencePreprocessorSoftware reliability testingReliability engineeringSoftware systemSoftware constructionSoftware developmentEngineeringProgramming languageSoftware Engineering ResearchSoftware Reliability and Analysis ResearchSoftware System Performance and Reliability