A novel deep neural network structure for software fault prediction

被引:0
作者
Jouybari, Mehrasa Modanlou [1 ]
Tajary, Alireza [1 ]
Fateh, Mansoor [1 ]
Abolghasemi, Vahid [1 ,2 ]
机构
[1] Shahrood Univ Technol, Fac Comp Engn, Shahrood, Iran
[2] Univ Essex, Sch Comp Sci & Elect Engn, Colchester, England
关键词
Deep neural network; Software fault prediction; BugHunter dataset; Machine learning; OPTIMIZATION;
D O I
10.7717/peerj-cs.2270
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Software fault prediction is crucial to compute the potential occurrence of faults within the software components, before code testing or execution. Machine learning, especially deep learning, has been applied to predict faults, but both encounter challenges such as insufficient accuracy, imbalanced data, overfitting, and complex structure. Moreover, deep learning yields superior predictions when working with large datasets. The most common fault dataset is NASA MDP from the PROMISE repository. The BugHunter dataset, however, offers a larger number of instances compare to other fault datasets, leaving a gap in the literature for exploring the application of machine learning and deep learning. In this study, we present a novel structure of deep neural network (DNN), which utilizes the convolutional layers to extract valuable knowledge from the BugHunter data projects. Our proposed model addresses class imbalance and overfitting issues while accurately predicting fault- prone methods. To evaluate the effectiveness of our predictive model, we conduct extensive empirical studies comparing it with seven traditional machine learning, three ensemble learning, and three state-of-the-art deep learning baseline models. Our fi ndings revealed that the proposed DNN structure significantly improved the average F1-score in 15 projects of the BugHunter datasets by 20.01%, indicating that DNN is a practical approach for predicting faulty methods. Leveraging these results could lead to the preservation of software development resources and the production of more reliable software.
引用
收藏
页数:26
相关论文
共 46 条
[1]   A Survey on Software Defect Prediction Using Deep Learning [J].
Akimova, Elena N. ;
Bersenev, Alexander Yu ;
Deikov, Artem A. ;
Kobylkin, Konstantin S. ;
Konygin, Anton, V ;
Mezentsev, Ilya P. ;
Misilov, Vladimir E. .
MATHEMATICS, 2021, 9 (11)
[2]   A feature dependent Naive Bayes approach and its application to the software defect prediction problem [J].
Arar, Omer Faruk ;
Ayan, Kursat .
APPLIED SOFT COMPUTING, 2017, 59 :197-209
[3]  
Ayyadevara V. K., 2018, Gradient Boosting Machine BT-Pro Machine Learning Algorithms: A Hands-On Approach to Implementing Algorithms in Python and R, P117, DOI [DOI 10.1007/978-1-4842-3564-56, 10.1007/978-1-4842-3564-5 10.1007/978-1-4842-3564-5, DOI 10.1007/978-1-4842-3564-5]
[4]   Exclusive use and evaluation of inheritance metrics viability in software fault prediction an experimental study [J].
Aziz, Syed Rashid ;
Khan, Tamim Ahmed ;
Nadeem, Aamer .
PEERJ COMPUTER SCIENCE, 2021,
[5]   Software fault prediction using data mining, machine learning and deep learning techniques: A systematic literature review [J].
Batool, Iqra ;
Khan, Tamim Ahmed .
COMPUTERS & ELECTRICAL ENGINEERING, 2022, 100
[6]   Random forest in remote sensing: A review of applications and future directions [J].
Belgiu, Mariana ;
Dragut, Lucian .
ISPRS JOURNAL OF PHOTOGRAMMETRY AND REMOTE SENSING, 2016, 114 :24-31
[7]   MULTI: Multi-objective effort-aware just-in-time software defect prediction [J].
Chen, Xiang ;
Zhao, Yingquan ;
Wang, Qiuping ;
Yuan, Zhidan .
INFORMATION AND SOFTWARE TECHNOLOGY, 2018, 93 :1-13
[8]  
Cynthia ST, 2022, P 15 INN SOFTW ENG C, P1
[9]  
Ertel W., 2018, Introduction to artificial intelligence
[10]   Software defect prediction using hybrid model (CBIL) of convolutional neural network (CNN) and bidirectional long short-term memory (Bi-LSTM) [J].
Farid, Ahmed Bahaa ;
Fathy, Enas Mohamed ;
Eldin, Ahmed Sharaf ;
Abd-Elmegid, Laila A. .
PEERJ COMPUTER SCIENCE, 2021, 7 :1-22