近年来,软件深度学习模型(DLM)在软件漏洞检测领域的漏洞应用探索引起了行业广泛关注,在某些情况下 ,检测利用DLM模型能够获得超越传统静态分析工具的场景检测效果。然而,深度实证虽然研究人员对DLM模型的学习价值预测让人惊叹,但很多人对这些模型本身的模型特性并不十分清楚。 为了从应用角度对DLM模型在漏洞检测场景下的研究能力与价值进行验证,Steenhoek等人发表了《An Empirical Study of Deep Learning Models for Vulnerability Detection》(《漏洞检测的软件深度学习模型实证研究》)论文。该论文全面回顾了近年来公开发表的漏洞DLM在源代码漏洞检测方面的源码库相关研究,并实际复现了多个SOTA深度学习模型(见表1)
。检测通过将这些模型在两个广泛使用的场景漏洞检测数据集上进行充分实验,论文作者从模型能力、深度实证训练数据和模型解释等方面进行了6个专项课题的学习研究分析。 为了验证模型的模型准确性,作者使用了与原始资料中相同的数据集和参数设置
,对这些模型的运行结果进行了再次测试验证(见表 II) 。其中A 、P
、R
、模板下载F分别代表深度学习中常见的准确率(accuracy)
、精确度(precision) 、召回率(recall)和F1分数
。总体而言 ,复现的结果差异在合理范围内(上下2%)。 表 II 需要说明的是,为了更精确地比较模型,作者优化了模型的实现 ,使它们可以同时支持Devign和MSR数据集 。然而,在本论文所列举的亿华云研究问题分析中
,作者仅使用了上述模型中的9个而排除了VulDeeLocator和SeSyVR两种模型,原因是它们不容易针对Devign和MSR数据集进行优化。通过对深度学习漏洞检测模型进行实证研究,作者详细分析了六个研究问题
,并在以下方面取得收获: 研究动机 :揭示深度学习模型漏洞检测结果的不确定性,帮助研究人员更好地理解这些模型的表现
。 实验设计:实验人员在Devign数据集上使用三个不同的随机种子对11种DLM模型进行训练,然后测量它们在漏洞检测方面的性能,建站模板并比较它们之间的一致性。作者测量了在所有三个随机种子下具有相同二进制标签的输入所占的百分比 ,并将其称为“稳定输入”。然后,作者比较了这些稳定输入在不同模型之间的一致性。 研究发现 :研究发现,不同模型在漏洞检测方面的表现存在一定的差异性 

