Software defect prediction using stacked denoising autoencoders and two-stage ensemble learning

被引:120
作者
Tong, Haonan [1 ,2 ]
Liu, Bin [1 ,2 ]
Wang, Shihai [1 ,2 ]
机构
[1] Beihang Univ, Sch Reliabil & Syst Engn, Beijing 100083, Peoples R China
[2] Sci & Technol Reliabil & Environm Engn Lab, Beijing, Peoples R China
关键词
Software defect prediction; Stacked denoising autoencoders; Ensemble learning; Software metrics; Deep learning; FAULT-PRONENESS; NEURAL-NETWORKS; EMPIRICAL-ANALYSIS; CLASSIFICATION; ALGORITHM; QUALITY; MODULARIZATION; REDUCTION; METRICS; FOREST;
D O I
10.1016/j.infsof.2017.11.008
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: Software defect prediction (SDP) plays an important role in allocating testing resources reasonably, reducing testing costs, and ensuring software quality. However, software metrics used for SDP are almost entirely traditional features compared with deep representations (DPs) from deep learning. Although stacked denoising autoencoders (SDAEs) are powerful for feature learning and have been successfully applied in other fields, to the best of our knowledge, it has not been investigated in the field of SDP. Meanwhile, class-imbalance is still a pressing problem needing to be addressed. Objective: In this paper, we propose a novel SDP approach, SDAEsTSE, which takes advantages of SDAEs and ensemble learning, namely the proposed two-stage ensemble (TSE). Method: Our method mainly includes two phases: the deep learning phase and two-stage ensemble (TSE) phase. We first use SDAEs to extract the DPs from the traditional software metrics, and then a novel ensemble learning approach, TSE, is proposed to address the class-imbalance problem. Results: Experiments are performed on 12 NASA datasets to demonstrate the effectiveness of DPs, the proposed TSE, and SDAEsTSE, respectively. The performance is evaluated in terms of F-measure, the area under the curve (AUC), and Matthews correlation coefficient (MCC). Generally, DPs, TSE, and SDAEsTSE contribute to significantly higher performance compared with corresponding traditional metrics, classic ensemble methods, and benchmark SDP models. Conclusions: It can be concluded that (1) deep representations are promising for SDP compared with traditional software metrics, (2) TSE is more effective for addressing the class-imbalance problem in SDP compared with classic ensemble learning methods, and (3) the proposed SDAEsTSE is significantly effective for SDP.
引用
收藏
页码:94 / 111
页数:18
相关论文
共 110 条
[1]   An empirical study based on semi-supervised hybrid self-organizing map for software fault prediction [J].
Abaei, Golnoush ;
Selamat, Ali ;
Fujita, Hamido .
KNOWLEDGE-BASED SYSTEMS, 2015, 74 :28-39
[2]   Lines of Comments as a Noteworthy Metric for Analyzing Fault-Proneness in Methods [J].
Aman, Hirohisa ;
Amasaki, Sousuke ;
Sasaki, Takashi ;
Kawahara, Minoru .
IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2015, E98D (12) :2218-2228
[3]  
[Anonymous], 1990, IEEE Standard Computer Dictionary A Compilation of IEEE Standard Computer Glossaries by the Institute of Electrical and Electronics Engineers, P1, DOI [10.1109/IEEESTD.1990.101064, DOI 10.1109/IEEESTD.1990.101064, DOI 10.1109/IEEESTD.1991.106963]
[4]   Software defect prediction using cost-sensitive neural network [J].
Arar, Omer Faruk ;
Ayan, Kursat .
APPLIED SOFT COMPUTING, 2015, 33 :263-277
[5]   A Practical Guide for Using Statistical Tests to Assess Randomized Algorithms in Software Engineering [J].
Arcuri, Andrea ;
Briand, Lionel .
2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, :1-10
[6]  
Bengio Y., 2006, ADV NEURAL INFORM PR, V19
[7]  
Bicer M. S., 2015, 21 INT C INF SOFTW T
[8]   Defect prediction for Cascading Style Sheets [J].
Bicer, Serdar ;
Diri, Banu .
APPLIED SOFT COMPUTING, 2016, 49 :1078-1084
[9]   Software defeat reduction top 10 list [J].
Boehm, B ;
Basili, VR .
COMPUTER, 2001, 34 (01) :135-137
[10]  
Bowes D., 2016, INT S SOFTW TEST AN