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

被引:121
作者
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 条
[91]  
Vincent P., 2008, P 25 INT C MACH LEAR, P1096, DOI DOI 10.1145/1390156.1390294
[92]  
Vincent P, 2010, J MACH LEARN RES, V11, P3371
[93]  
Wang S., 2016, 2016 IEEE ACM 38 IEE
[94]   Using Class Imbalance Learning for Software Defect Prediction [J].
Wang, Shuo ;
Yao, Xin .
IEEE TRANSACTIONS ON RELIABILITY, 2013, 62 (02) :434-443
[95]  
Weigend A., 1993, P 1993 CONN MOD SUMM
[96]   Comparing the effectiveness of several modeling methods for fault prediction [J].
Weyuker, Elaine J. ;
Ostrand, Thomas J. ;
Bell, Robert M. .
EMPIRICAL SOFTWARE ENGINEERING, 2010, 15 (03) :277-295
[97]  
WILCOXON F, 1945, BIOMETRICS BULL, V1, P80, DOI 10.1093/jee/39.2.269
[98]  
Witten IH, 2011, MOR KAUF D, P61, DOI 10.1016/B978-0-12-374856-0.00003-1
[99]   HYDRA: Massively Compositional Model for Cross-Project Defect Prediction [J].
Xia, Xin ;
Lo, David ;
Pan, Sinno Jialin ;
Nagappan, Nachiappan ;
Wang, Xinyu .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2016, 42 (10) :977-998
[100]   A fuzzy logic based approach for phase-wise software defects prediction using software metrics [J].
Yadav, Harikesh Bahadur ;
Yadav, Dilip Kumar .
INFORMATION AND SOFTWARE TECHNOLOGY, 2015, 63 :44-57