返回
Exploring extended Abstract Syntax Tree encoding for enhancing code vulnerability detection
DOI:10.1007/s11219-026-09748-5.png)
摘要
En 中文
软件系统中普遍存在漏洞,可能对系统安全构成严重威胁。为应对这些威胁,近年来提出了多种漏洞检测方法。其中,基于深度学习的方法因其卓越的检测性能,受到了学术界和工业界的广泛关注。然而,现有的基于深度学习的方法仍难以平衡检测精度、有效性和可用性。此外,基于深度学习的方法中广泛使用的抽象语法树(AST)表示通常将节点和边视为静态结构,这阻碍了对动态源代码交互中固有的复杂控制流和细微语义关联的准确刻画。为解决这些挑战,我们提出ExASTrVD(基于扩展抽象语法树的源代码漏洞检测器),以揭示节点和边之间的动态结构,实现准确高效的漏洞检测。为便于捕获动态深层结构信息,ExASTrVD首先通过向原始AST精心添加八条附加信息边来构建扩展AST,并使用多关系图存储这八条边。通过应用邻接矩阵和初始节点嵌入,得到多关系图的全局嵌入向量。最终,该全局向量表示经过处理并整合到漏洞检测的预测网络中。在大型漏洞数据集上的实验结果表明,ExASTrVD在检测精度、精确率、召回率和F1值方面均优于现有的漏洞检测基线模型。消融研究也证明了ExASTrVD核心设计的有效性。
Keyword:
Vulnerability detection
Extended abstract syntax tree
Graph attention network
Code representation

