计算机应用

北大核心,INSPEC,JST,Pж(AJ),CSCD扩展版

国内刊号:51-1307/TP

国际刊号:1001-9081

计算机应用杂志2022年第10期:基于深度语义融合的代码缺陷静态检测方法

发布日期:

作者:程靖云, 王布宏, 罗鹏

单位:空军工程大学 信息与导航学院,西安 710077

关键词:缺陷检测,程序切片,语义分析,深度学习,特征融合

随着计算机软件规模和复杂度的不断增加,软件中存在的代码缺陷对公共安全形成了严重威胁。针对静态分析工具拓展性差,以及现有方法检测粒度粗、检测效果不够理想的问题,提出了一种基于程序切片和语义特征融合的代码缺陷静态检测方法。首先,对源代码中的关键点进行数据流和控制流分析,并采用基于过程间有限分布子集(IFDS)的切片方法,以获取由多行与代码缺陷相关的语句组成的代码片段;然后,通过词嵌入法获取代码片段语义相关的向量表示,从而在保证准确率的同时选择合适的代码片段长度;最后,利用文本卷积神经网络(TextCNN)和双向门控循环单元(BiGRU)分别提取代码片段中的局部关键特征和上下文序列特征,并将所提方法用于检测切片级别的代码缺陷。实验结果表明,所提方法能够有效检测不同类型的代码缺陷,并且检测效果显著优于静态分析工具Flawfinder;在细粒度的前提下,IFDS切片方法能进一步提高F1值和准确率,分别达到了89.64%和92.08%;与现有的基于程序切片的方法相比,在关键点为应用程序编程接口(API)或变量时,所提方法的F1值分别达到89.69%、89.74%,准确率分别达到92.15%、91.98%。可见在不显著增加时间复杂度的同时,所提方法具备更好的综合检测性能。

来源:2022年第10期

《计算机应用》期刊编辑部

查看计算机应用杂志2022年第10期

联系我们

  • 地址:四川天府新区兴隆街道科智路1369号
  • 电话:028-85224283-803
  • E-mail:bjb@joca.cn

咨询工作人员