journal article·2022Open access

Compiler IR-Based Program Encoding Method for Software Defect Prediction

Yong Chen, Chao Xu, Jing Selena He, Sheng Xiao, Fanfan Shen

Computers, Materials & Continua· Volume 72· Issue 3

Abstract

With the continuous expansion of software applications, people's requirements for software quality are increasing. Software defect prediction is an important technology to improve software quality. It often encodes the software into several features and applies the machine learning method to build defect prediction classifiers, which can estimate the software areas is clean or buggy. However, the current encoding methods are mainly based on the traditional manual features or the AST of source code. Traditional manual features are difficult to reflect the deep semantics of programs, and there is a lot of noise information in AST, which affects the expression of semantic features. To overcome the above deficiencies, we combined with the Convolutional Neural Networks (CNN) and proposed a novel compiler Intermediate Representation (IR) based program encoding method for software defect prediction (CIR-CNN). Specifically, our program encoding method is based on the compiler IR, which can eliminate a large amount of noise information in the syntax structure of the source code and facilitate the acquisition of more accurate semantic information. Secondly, with the help of data flow analysis, a Data Dependency Graph (DDG) is constructed on the compiler IR, which helps to capture the deeper semantic information of the program. Finally, we use the widely used CNN model to build a software defect prediction model, which can increase the adaptive ability of the method. To evaluate the performance of the CIR-CNN, we use seven projects from PROMISE datasets to set up comparative experiments. The experiments results show that, in WPDP, with our CIR-CNN method, the prediction accuracy was improved by 12% for the AST-encoded CNN-based model and by 20.9% for the traditional features-based LR model, respectively. And in CPDP, the AST-encoded DBN-based model was improved by 9.1% and the traditional features-based TCA+ model by 19.2%, respectively.
Source: openalex_inverted_index · Quality: baseline

Research context

OpenAlex topics: Software Engineering Research · Software System Performance and Reliability · Software Reliability and Analysis Research

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

References (36)

Show source-provided references
1. ROCT: Radius-based class overlap cleaning technique to alleviate the class overlap problem in software defect prediction
2. Deep feature learning to quantitative prediction of software defects
3. Intelligent radar software defect prediction approach and its application
4. Defect prediction using akaike and Bayesian information criterion10.32604/csse.2022.021750 ↗
5. Software defect prediction using ensemble learning: A systematic literature review10.1109/ACCESS.2021.3095559 ↗
6. Distributed representations of words and phrases and their compositionality
7. Deep semantic feature learning for software defect prediction10.1109/TSE.2018.2877612 ↗
8. Software defect prediction via convolutional neural network
9. K. D. Hoa, P. Trang, W. N. Shien, T. Truyen, G. John et al., “A deep tree-based model for software defect prediction,” arXiv: Software engineering, 2018. [Online]. Available: https://arxiv.org/abs/1802.00921.
10. Convolutional neural networks over control flow graphs for software defect prediction
11. D. L. Peng, S. X. Zheng, Y. T. Li, G. L. Ke, D. He et al., “How could neural networks understand programs?,” arXiv: Programming languages, 2021. [Online]. Available: https://arxiv.org/abs/2105.04297.
12. Slice-based cognitive complexity metrics for defect prediction
13. On the time-based conclusion stability of cross-project defect prediction models10.1007/s10664-020-09878-9 ↗
14. Estimation of target defect prediction coverage in heterogeneous cross software projects10.4018/IJISMD.2021010104 ↗
15. Feature selection using artificial immune network: An approach for software defect prediction10.32604/iasc.2021.018405 ↗
16. Machine learning empowered software defect prediction system10.32604/iasc.2022.020362 ↗
17. Empirical studies of a kernel density estimation based naive Bayes method for software defect prediction10.1587/transinf.2018EDP7177 ↗
18. A Scenario-based approach to predicting software defects using compressed C4.5 model
19. Transfer defect learning
20. HYDRA: Massively compositional model for cross-project defect prediction10.1109/TSE.2016.2543218 ↗
21. An investigation of cross-project learning in online just-in-time software defect prediction
22. Software defect prediction harnessing on multi 1-dimensional convolutional neural network structure10.32604/cmc.2022.022085 ↗
23. An improved CNN model for within project software defect prediction10.3390/app9102138 ↗
24. Unsupervised domain adaptation based on discriminative subspace learning for cross-project defect prediction10.32604/cmc.2021.016539 ↗
25. On multi-layer basis pursuit, efficient algorithms and convolutional neural networks10.1109/TPAMI.2019.2904255 ↗
26. RDA-CNN: Enhanced super resolution method for rice plant disease classification10.32604/csse.2022.022206 ↗
27. Convolutional neural networks for speech recognition10.1109/TASLP.2014.2339736 ↗
28. Learning fine-grained features via a CNN tree for large-scale classification10.1016/j.neucom.2017.09.061 ↗
29. Robust reversible audio watermarking scheme for telemedicine and privacy protection10.32604/cmc.2022.022304 ↗
30. A robust 3-D medical watermarking based on wavelet transform for data protection10.32604/csse.2022.022305 ↗
31. Cnn-based fast hevc quantization parameter mode decision
32. Depth-wise separable convolutions and multi-level pooling for an efficient spatial CNN-based steg analysis10.1109/TIFS.2019.2936913 ↗
33. An intelligent fine-tuned forecasting technique for covid-19 prediction using neuralprophet model10.32604/cmc.2022.021884 ↗
34. Early detection and classification of tomato leaf disease using high-performance deep neural network10.3390/s21237987 ↗
35. A hybrid convolutional neural network model for diagnosis of COVID-19 using chest X-ray images10.3390/ijerph182212191 ↗
36. Learning from opensource projects: An empirical study on defect prediction