摘要

针对现有的静态代码分析工具有较高的误报率与漏报率,提出一种基于切片依赖图(Slice Dependency Graph,SDG)的自动化漏洞检测方法,将程序源代码解析为包含数据依赖和控制依赖信息的切片依赖图,然后使用图神经网络对切片依赖图的结构进行表征学习,最后使用训练的神经网络模型预测待测程序源代码中的漏洞。在5类常见缺陷分类(Common Weakness Enumeration,CWE)样本构成的数据集上开展了实验,结果表明误报率和漏报率均低于作为对比的其他方法,准确率和F1得分两个指标均有提高,因此所提方法能有效提高漏洞检测能力。