基于复合程序表示的源代码漏洞检测方法

    公开(公告)号:CN117574375A

    公开(公告)日:2024-02-20

    申请号:CN202310847969.1

    申请日:2023-07-12

    Abstract: 本发明属于软件漏洞检测领域,为基于复合程序表示的源代码漏洞检测方法,该方法包括步骤:首先,从源代码中提取三种源码中间表示并提取对应的路径;接着从提取的路径中移除额外的标记并构建路径序列,拼接所有的路径序列构建训练语料库;然后根据构建的语料库使用doc2vec模型训练代码嵌入模型;之后使用训练的嵌入模型得到源代码的向量表示形式并划分训练集、测试集和验证集;然后使用了结合正则化损失和四元组损失函数改进度量学习模型,使用训练集训练模型得到漏洞检测模型;最后使用训练后的漏洞检测模型检测源代码是否包含漏洞。本发明通过使用复合的源代码表示方法解决了现有方法基于单一特定的表示,忽视不同表示之间的互补关系,对代码的语义和语法信息表示不足的问题。

Patent Agency Ranking