SlicedLocator: Code vulnerability locator based on sliced dependence graph

被引:2
作者
Wu, Bolun [1 ]
Zou, Futai [1 ]
Yi, Ping [1 ]
Wu, Yue [1 ]
Zhang, Liang [2 ]
机构
[1] Shanghai Jiao Tong Univ, Sch Elect Informat & Elect Engn, Shanghai 200240, Peoples R China
[2] State Grid Co, East China Branch, Shanghai 200120, Peoples R China
关键词
Vulnerability detection; Localization; Program analysis; Program representation; Deep learning;
D O I
10.1016/j.cose.2023.103469
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Machine learning-based fine-grained vulnerability detection is an important technique for locating vulnerable statements, which assists engineers in efficiently analyzing and fixing the vulnerabilities. However, due to insufficient code representations, code embeddings, and neural network design, current methods suffer low vulnerability localization performance. In this paper, we propose to address these shortcomings by presenting SlicedLocator, a novel fine-grained code vulnerability detection model that is trained in a dual-grained manner and can predict both program-level and statement-level vulnerabilities. We design the sliced dependence graph, a new code representation that not only preserves rich interprocedural relations but also eliminates vulnerability irrelevant statements. We create attention-based code embedding networks that are trained with the entire model to extract vulnerability-aware code features. In addition, we present a new LSTM-GNN model as a fusion of semantic modeling and structural modeling. Experiment results on a large-scale C/C++ vulnerability dataset reveal that SlicedLocator outperforms state-of-the-art machine learning-based vulnerability detectors, especially in terms of localization metrics.
引用
收藏
页数:13
相关论文
共 40 条
  • [1] Bhandari G., 2022, National vulnerability database
  • [2] CVEfixes: Automated Collection of Vulnerabilities and Their Fixes from Open-Source Software
    Bhandari, Guru
    Naseer, Amara
    Moonen, Leon
    [J]. PROCEEDINGS OF THE 17TH INTERNATIONAL CONFERENCE ON PREDICTIVE MODELS AND DATA ANALYTICS IN SOFTWARE ENGINEERING (PROMISE '21), 2021, : 30 - 39
  • [3] DeepWukong: Statically Detecting Software Vulnerabilities Using Deep Graph Neural Network
    Cheng, Xiao
    Wang, Haoyu
    Hua, Jiayi
    Xu, Guoai
    Sui, Yulei
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2021, 30 (03)
  • [4] Cho K., 2014, EMNLP, DOI DOI 10.3115/V1/D14-1179
  • [5] Feng ZY, 2020, FINDINGS OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS, EMNLP 2020, P1536
  • [6] Fey M., 2019, ICLR WORKSH REPR LEA
  • [7] CollAFL: Path Sensitive Fuzzing
    Gan, Shuitao
    Zhang, Chao
    Qin, Xiaojun
    Tu, Xuwen
    Li, Kang
    Pei, Zhongyu
    Chen, Zuoning
    [J]. 2018 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP), 2018, : 679 - 696
  • [8] Semantic Learning and Emulation Based Cross-Platform Binary Vulnerability Seeker
    Gao, Jian
    Jiang, Yu
    Liu, Zhe
    Yang, Xin
    Wang, Cong
    Jiao, Xun
    Yang, Zijiang
    Sun, Jiaguang
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2021, 47 (11) : 2575 - 2589
  • [9] LineVD: Statement-level Vulnerability Detection using Graph Neural Networks
    Hin, David
    Kan, Andrey
    Chen, Huaming
    Babar, M. Ali
    [J]. 2022 MINING SOFTWARE REPOSITORIES CONFERENCE (MSR 2022), 2022, : 596 - 607
  • [10] Hochreiter S, 1997, NEURAL COMPUT, V9, P1735, DOI [10.1162/neco.1997.9.1.1, 10.1007/978-3-642-24797-2]