当前位置: 首页 > 专利查询>石河子大学专利>正文

一种源代码表征提取方法技术

技术编号:43311920 阅读:14 留言:0更新日期:2024-11-15 20:14
本发明专利技术公开了一种源代码表征提取方法,包括获取源代码数据集,并对数据集进行预处理;基于BERT模型和主成分分析技术PCA,分别对预处理后的数据集中代码行、代码构造进行特征提取,得到第一基本表征向量、第二基本表征向量;基于Multi‑way Tree‑LSTM模型,对代码行的抽象语法树子树特征进行直接提取,得到第三基本表征向量;基于GloVe词嵌入技术和GRU模型,对代码图结构的依赖关系上下文特征进行提取,得到第四基本表征向量、第五基本表征向量;利用注意力机制BiGRU,将得到的基本表征向量进行结合,获得源代码表征。因此,采用上述方法,能够全面地保留源代码中的多方面信息,有利于捕捉代码中存在的潜在漏洞。

【技术实现步骤摘要】

本专利技术涉及代码表征提取,尤其是涉及一种源代码表征提取方法


技术介绍

1、源代码表征提取是指通过静态分析和动态分析等手段从一段源代码中抽取出有意义的、能够表示代码内在信息和语义的结构,该结构可供机器学习或深度学习模型处理,形成可以学习代码中潜在内容的数值表示形式,通过该形式能够进行代码相关的任务,如代码理解、代码推荐、代码补全等。

2、目前,源代码漏洞检测领域主要集中于两类,一类是利用nlp方法基于代码的文本表征来分析代码,通过静态分析技术和切片技术实现代码表征的提取,该方法在提取代码表征的时候更加注重代码的文本信息,试图从文本的角度分析源代码中存在的漏洞表征。另一类就是利用代码中间表示的图结构来取得源代码中的表征信息,该方法主要考虑代码的逻辑关系,并利用静态分析技术和图嵌入技术得到代码表征,该方法在提取代码表征的时候更加注重漏洞代码存在逻辑关系,试图从图的角度分析源代码中存在的漏洞表征。然而,使用代码中间表述对源代码进行表征依然会出现表征中信息不完善、数据嵌入效果不理想、检测误报率高等问题,从而限制漏洞检测的有效性。</p>

3、由于本文档来自技高网...

【技术保护点】

1.一种源代码表征提取方法,其表征在于,包括以下步骤:

2.根据权利要求1所述的一种源代码表征提取方法,其表征在于,数据集的预处理分为两个阶段,第一阶段包括数据清洗和标准化,第二阶段包括标注和初始信息提取。

3.根据权利要求1所述的一种源代码表征提取方法,其表征在于,对代码构造进行特征提取,包括基于Tokens提取源代码行的自然序列,利用BERT架构结合自注意层,获得代码行自然序列的表征,使用主成分分析技术PCA进行降维。

4.根据权利要求1所述的一种源代码表征提取方法,其表征在于,对代码行进行特征提取,包括提取源代码的抽象语法树、控制流图数据信息,基...

【技术特征摘要】

1.一种源代码表征提取方法,其表征在于,包括以下步骤:

2.根据权利要求1所述的一种源代码表征提取方法,其表征在于,数据集的预处理分为两个阶段,第一阶段包括数据清洗和标准化,第二阶段包括标注和初始信息提取。

3.根据权利要求1所述的一种源代码表征提取方法,其表征在于,对代码构造进行特征提取,包括基于tokens提取源代码行的自然序列,利用bert架构结合自注意层,获得代码行自然序列的表征,使用主成分分析技术pca进行降维。

4.根据权利要求1所述...

【专利技术属性】
技术研发人员:张荣华徐浩然陈铭刘长征郭兆运郭庭虎
申请(专利权)人:石河子大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1