Software Defect Prediction Based on Deep Representation Learning of Source Code From Contextual Syntax and Semantic Graph

被引:9
|
作者
Abdu, Ahmed [1 ]
Zhai, Zhengjun [1 ]
Abdo, Hakim A. [2 ]
Algabri, Redhwan [3 ]
机构
[1] Northwestern Polytech Univ, Sch Software, Xian 710072, Peoples R China
[2] Hodeidah Univ, Dept Comp Sci, Al Hudaydah 3114, Yemen
[3] Hanyang Univ, Res Inst Engn & Technol, Ansan 15588, South Korea
关键词
Contextual representations; deep learning; graphical representations; hierarchical convolutional neural network; software defect prediction (SDP); MODEL;
D O I
10.1109/TR.2024.3354965
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Software defect prediction approaches play an essential role in the software development life cycle to help developers predict defects early, thus, preventing wasted time and effort. Defect prediction techniques based on semantic features have recently gained success over approaches based on traditional features. Existing semantic features-based defect prediction approaches use a single source code representation. Most studies focus on contextual syntax represented by abstract syntax trees, and some studies use a control flow graph to represent code graphs. However, a single representation is still limited for predicting defects that call multiple functions and have a high probability of false positives. To close the gap between source code representations on software defect prediction, we propose a defect prediction model based on multiple source code representations. The proposed model is a deep hierarchical convolutional neural network (DH-CNN). The syntax features extracted from abstract syntax trees using Word2vec are fed into syntax-level DH-CNN, and the semantic-graph features extracted from the control flow graph and data dependence graph using Node2vec are fed into semantic-level DH-CNN. In addition, the proposed model includes a gated merging mechanism that combines DH-CNN outputs to estimate the combination ratio of both types of features. Experimental results indicate that DH-CNN outperforms existing methods under cross-project and within-project scenarios.
引用
收藏
页码:820 / 834
页数:15
相关论文
共 50 条
  • [21] ACGDP: An Augmented Code Graph-Based System for Software Defect Prediction
    Xu, Jiaxi
    Ai, Jun
    Liu, Jingyu
    Shi, Tao
    IEEE TRANSACTIONS ON RELIABILITY, 2022, 71 (02) : 850 - 864
  • [22] A Just-In-Time Software Defect Localization Method Based On Code Graph Representation
    Zhang, Huan
    Min, Weihuan
    Wei, Zhao
    Kuang, Li
    Gao, Honghao
    Miao, Huaikou
    PROCEEDINGS 2024 32ND IEEE/ACM INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, ICPC 2024, 2024, : 293 - 303
  • [23] Defects in The Next Release; Software Defect Prediction Based on Source Code Versions
    Nehi, Molouk Mishmast
    Fakhrpoor, Zahra
    Moosavi, Mohammad R.
    26TH IRANIAN CONFERENCE ON ELECTRICAL ENGINEERING (ICEE 2018), 2018, : 1589 - 1594
  • [24] A Survey on Deep Learning-Based Source Code Defect Analysis
    Guan, Zhibin
    Wang, Xiaomeng
    Xin, Wei
    Wang, Jiajie
    Zhang, Li
    2020 5TH INTERNATIONAL CONFERENCE ON COMPUTER AND COMMUNICATION SYSTEMS (ICCCS 2020), 2020, : 167 - 171
  • [25] Simplified abstract syntax tree based semantic features learning for software change prediction
    Yang, Xinyue
    Zhang, Xiaofang
    Tong, Yao
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2022, 34 (04)
  • [26] Software defect prediction with semantic and structural information of codes based on Graph Neural Networks
    Zhou, Chunying
    He, Peng
    Zeng, Cheng
    Ma, Ju
    INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 152
  • [27] On the use of deep learning in software defect prediction
    Giray, Gorkem
    Bennin, Kwabena Ebo
    Koksal, Omer
    Babur, Onder
    Tekinerdogan, Bedir
    JOURNAL OF SYSTEMS AND SOFTWARE, 2023, 195
  • [28] Transfer Learning Code Vectorizer based Machine Learning Models for Software Defect Prediction
    Singh, Rituraj
    Singh, Jasmeet
    Gill, Mehrab Singh
    Malhotra, Ruchika
    Garima
    2020 INTERNATIONAL CONFERENCE ON COMPUTATIONAL PERFORMANCE EVALUATION (COMPE-2020), 2020, : 497 - 502
  • [29] Software Defect Prediction using Deep Learning
    Nevendra, Meetesh
    Singh, Pradeep
    ACTA POLYTECHNICA HUNGARICA, 2021, 18 (10) : 173 - 189
  • [30] Deep Learning for Software Defect Prediction in time
    Yadav, Monika
    Singh, Vijendra
    Rastogi, Priyanka
    2018 FIFTH INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED AND GRID COMPUTING (IEEE PDGC), 2018, : 7 - 12