DeepCPDP: Deep Learning Based Cross-Project Defect Prediction

被引:27
|
作者
Chen, Deyu [1 ]
Chen, Xiang [1 ]
Li, Hao [2 ]
Xie, Junfeng [3 ]
Mu, Yanzhou [2 ]
机构
[1] Nantong Univ, Sch Informat Sci & Technol, Nantong 226019, Peoples R China
[2] Tianjin Univ, Coll Intelligence & Comp, Tianjin 300072, Peoples R China
[3] Fudan Univ, Sch Comp Sci, Shanghai 200433, Peoples R China
来源
IEEE ACCESS | 2019年 / 7卷
基金
中国国家自然科学基金;
关键词
Software defect prediction; cross-project defect prediction; bi-directional long short-term memory; embedding method; attention mechanism; FEATURE-SELECTION; MODEL; FRAMEWORK;
D O I
10.1109/ACCESS.2019.2961129
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Cross-project defect prediction (CPDP) is an active research topic in the domain of software defect prediction, since CPDP can be applied to the following scenarios: the target project for software defect prediction is a new project or the target project does not have enough labeled modules. Most of the previous work tried to utilize the labeled dataset gathered from other projects (i.e., the source projects) and then proposed transfer learning based methods to reduce the data distribution difference between different projects. In this article, we propose a deep learning based CPDP method DeepCPDP. For this method, we represent source code of each extracted program module by using simplified abstract syntax tree (SimAST). For a node of SimAST, we only keep its node type, since this is project-independent, while we ignore the name of method and variable, since these information are project-specific. Therefore, SimAST is project-independent and especially suitable for the task of CPDP. Then, we extract the token vector from each module after it is modeled via SimAST. Moreover, we design a new unsupervised based embedding method SimASTToken2Vec to learn meaningful representation for these extracted token vectors. Later, we employ Bi-directional Long Short-Term Memory (BiLSTM) neural network to automatically learn semantic features from embedded token vectors. In addition, we use attention mechanism over the BiLSTM layer to learn the weight of the vectors from the learned semantic features. Finally, we construct CPDP models via Logistic regression classifier. To show the effectiveness of DeepCPDP, ten large-scale projects from different application domains are used and AUC measure is used to measure the prediction performance of trained models. By using Scott-Knott test, we can find DeepCPDP can significantly outperform eight state-of-the-art baselines. Moreover, we also verify that the usage of SimASTToken2Vec, BiLSTM and attention mechanism is competitive in our proposed method.
引用
收藏
页码:184832 / 184848
页数:17
相关论文
共 50 条
  • [41] Local modeling approach for cross-project defect prediction
    Bhat, Nayeem Ahmad
    Farooq, Sheikh Umar
    INTELLIGENT DECISION TECHNOLOGIES-NETHERLANDS, 2021, 15 (04): : 623 - 637
  • [42] Do different cross-project defect prediction methods identify the same defective modules?
    Chen, Xiang
    Mu, Yanzhou
    Qu, Yubin
    Ni, Chao
    Liu, Meng
    He, Tong
    Liu, Shangqing
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2020, 32 (05)
  • [43] An Abstract Syntax Tree Encoding Method for Cross-Project Defect Prediction
    Cai, Ziyi
    Lu, Lu
    Qiu, Shaojian
    IEEE ACCESS, 2019, 7 : 170844 - 170853
  • [44] An empirical evaluation of defect prediction approaches in within-project and cross-project context
    Bhat, Nayeem Ahmad
    Farooq, Sheikh Umar
    SOFTWARE QUALITY JOURNAL, 2023, 31 (03) : 917 - 946
  • [45] An empirical evaluation of defect prediction approaches in within-project and cross-project context
    Nayeem Ahmad Bhat
    Sheikh Umar Farooq
    Software Quality Journal, 2023, 31 : 917 - 946
  • [46] A Cross-Project Defect Prediction Approach Based on Code Semantics and Cross-Version Structural Information
    Zou, Yifan
    Wang, Huiqiang
    Lv, Hongwu
    Zhao, Shuai
    Tian, Haoye
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2024, 34 (07) : 1135 - 1171
  • [47] MSCPDPLab: A MATLAB toolbox for transfer learning based multi-source cross-project defect prediction
    Zou, Jiaqi
    Li, Zonghao
    Liu, Xuanying
    Tong, Haonan
    SOFTWAREX, 2023, 21
  • [48] Cross-Project Software Defect Prediction Based on Feature Selection and Knowledge Distillation
    Ling, Songsong
    Tang, Bin
    Tao, Ye
    Hu, Qiang
    Du, Junwei
    Yu, Xu
    ADVANCED INTELLIGENT COMPUTING TECHNOLOGY AND APPLICATIONS, PT V, ICIC 2024, 2024, 14866 : 137 - 149
  • [49] Improve cross-project just-in-time defect prediction with dynamic transfer learning
    Dai, Hongming
    Xi, Jianqing
    Dai, Hong-Liang
    JOURNAL OF SYSTEMS AND SOFTWARE, 2025, 219
  • [50] MSCPDPLab: A MATLAB toolbox for transfer learning based multi-source cross-project defect prediction
    Zou, Jiaqi
    Li, Zonghao
    Liu, Xuanying
    Tong, Haonan
    SOFTWAREX, 2023, 21