journal article·2023Open access

Graph-Based Feature Learning for Cross-Project Software Defect Prediction

Ahmed Abdu, Zhengjun Zhai, Hakim A. Abdo, Redhwan Algabri, Sungon Lee

Computers, Materials & Continua· Volume 77· Issue 1

Abstract

Cross-project software defect prediction (CPDP) aims to enhance defect prediction in target projects with limited or no historical data by leveraging information from related source projects. The existing CPDP approaches rely on static metrics or dynamic syntactic features, which have shown limited effectiveness in CPDP due to their inability to capture higher-level system properties, such as complex design patterns, relationships between multiple functions, and dependencies in different software projects, that are important for CPDP. This paper introduces a novel approach, a graph-based feature learning model for CPDP (GB-CPDP), that utilizes NetworkX to extract features and learn representations of program entities from control flow graphs (CFGs) and data dependency graphs (DDGs). These graphs capture the structural and data dependencies within the source code. The proposed approach employs Node2Vec to transform CFGs and DDGs into numerical vectors and leverages Long Short-Term Memory (LSTM) networks to learn predictive models. The process involves graph construction, feature learning through graph embedding and LSTM, and defect prediction. Experimental evaluation using nine open-source Java projects from the PROMISE dataset demonstrates that GB-CPDP outperforms state-of-the-art CPDP methods in terms of F1-measure and Area Under the Curve (AUC). The results showcase the effectiveness of GB-CPDP in improving the performance of cross-project defect prediction.
Source: openalex_inverted_index · Quality: baseline

Research context

OpenAlex topics: Software Engineering Research · Software Engineering Techniques and Practices · Software Reliability and Analysis Research

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

References (36)

Show source-provided references
1. An empirical study on pareto based multi-objective feature selection for software defect prediction10.1016/j.jss.2019.03.012 ↗
2. Perceptions, expectations, and challenges in defect prediction10.1109/TSE.2018.2877678 ↗
3. Fixing the bugs in software projects from software repositories for improvisation of quality
4. How far does the predictive decision impact the software project? The cost, service time, and failure analysis from a cross-project defect prediction model10.1016/j.jss.2022.111522 ↗
5. Intuitionistic fuzzy local binary pattern for features extraction10.1504/IJICT.2018.090435 ↗
6. Formalizing open source software quality assurance model by identifying common features from open source software projects
7. Cross-project and within-project semisupervised software defect prediction: A unified approach10.1109/TR.2018.2804922 ↗
8. Software defect prediction using stacked denoising autoencoders and two-stage ensemble learning10.1016/j.infsof.2017.11.008 ↗
9. Collective transfer learning for defect prediction10.1016/j.neucom.2018.12.091 ↗
10. PathPair2Vec: An AST path pair-based code representation method for defect prediction10.1016/j.cola.2020.100979 ↗
11. Cross-project defect prediction considering multiple data distribution simultaneously10.3390/sym14020401 ↗
12. Cross-project clone consistent-defect prediction via transfer-learning method10.1016/j.ins.2023.03.118 ↗
13. Zimmermann · 2009 · 91
14. A cluster based feature selection method for cross-project software defect prediction10.1007/s11390-017-1785-0 ↗
15. HDA: Cross-project defect prediction via heterogeneous domain adaptation with dictionary learning10.1109/ACCESS.2018.2873755 ↗
16. Multiple-components weights model for cross-project software defect prediction10.1049/iet-sen.2017.0111 ↗
17. Within-project and cross-project software defect prediction based on improved transfer naive bayes algorithm
18. Cross-project software defect prediction based on domain adaptation learning and optimization10.1016/j.eswa.2021.114637 ↗
19. Unsupervised domain adaptation based on discriminative subspace learning for cross-project defect prediction10.32604/cmc.2021.016539 ↗
20. A three-stage transfer learning framework for multi-source cross-project software defect prediction10.1016/j.infsof.2022.106985 ↗
21. CFPS: Collaborative filtering based source projects selection for cross-project defect prediction10.1016/j.asoc.2020.106940 ↗
22. Deep semantic feature learning for software defect prediction10.1109/TSE.2018.2877612 ↗
23. DeepCPDP: Deep learning based cross-project defect prediction10.1109/ACCESS.2019.2961129 ↗
24. Revisiting supervised and unsupervised methods for effort-aware cross-project defect prediction10.1109/TSE.2020.3001739 ↗
25. Towards building a universal defect prediction model with rank transformed predictors10.1007/s10664-015-9396-2 ↗
26. Deep learning-based software defect prediction via semantic key features of source code—systematic survey10.3390/math10173120 ↗
27. On the relative value of cross-company and within-company data for defect prediction10.1007/s10664-008-9103-7 ↗
28. Cross project defect prediction using class distribution estimation and oversampling10.1016/j.infsof.2018.04.001 ↗
29. Value-cognitive boosting with a support vector machine for cross-project defect prediction10.1007/s10664-014-9346-4 ↗
30. A two-phase transfer learning model for cross-project defect prediction10.1016/j.infsof.2018.11.005 ↗
31. Profit or loss: A long short term memory based model for the prediction of share price of DLF group in India
32. SEML: A semantic LSTM model for software defect prediction10.1109/ACCESS.2019.2925313 ↗
33. SLDeep: Statement-level software defect prediction using deep-learning model on static code features10.1016/j.eswa.2019.113156 ↗
34. Software defect prediction via LSTM10.1049/iet-sen.2019.0149 ↗
35. Software defect prediction based on gated hierarchical LSTMs10.1109/TR.2020.3047396 ↗
36. Deep semantic feature learning with embedded static metrics for software defect prediction