【技术实现步骤摘要】
本专利技术涉及代码表征提取,尤其是涉及一种源代码表征提取方法。
技术介绍
1、源代码表征提取是指通过静态分析和动态分析等手段从一段源代码中抽取出有意义的、能够表示代码内在信息和语义的结构,该结构可供机器学习或深度学习模型处理,形成可以学习代码中潜在内容的数值表示形式,通过该形式能够进行代码相关的任务,如代码理解、代码推荐、代码补全等。
2、目前,源代码漏洞检测领域主要集中于两类,一类是利用nlp方法基于代码的文本表征来分析代码,通过静态分析技术和切片技术实现代码表征的提取,该方法在提取代码表征的时候更加注重代码的文本信息,试图从文本的角度分析源代码中存在的漏洞表征。另一类就是利用代码中间表示的图结构来取得源代码中的表征信息,该方法主要考虑代码的逻辑关系,并利用静态分析技术和图嵌入技术得到代码表征,该方法在提取代码表征的时候更加注重漏洞代码存在逻辑关系,试图从图的角度分析源代码中存在的漏洞表征。然而,使用代码中间表述对源代码进行表征依然会出现表征中信息不完善、数据嵌入效果不理想、检测误报率高等问题,从而限制漏洞检测的有效性。<
...【技术保护点】
1.一种源代码表征提取方法,其表征在于,包括以下步骤:
2.根据权利要求1所述的一种源代码表征提取方法,其表征在于,数据集的预处理分为两个阶段,第一阶段包括数据清洗和标准化,第二阶段包括标注和初始信息提取。
3.根据权利要求1所述的一种源代码表征提取方法,其表征在于,对代码构造进行特征提取,包括基于Tokens提取源代码行的自然序列,利用BERT架构结合自注意层,获得代码行自然序列的表征,使用主成分分析技术PCA进行降维。
4.根据权利要求1所述的一种源代码表征提取方法,其表征在于,对代码行进行特征提取,包括提取源代码的抽象语法树、
...【技术特征摘要】
1.一种源代码表征提取方法,其表征在于,包括以下步骤:
2.根据权利要求1所述的一种源代码表征提取方法,其表征在于,数据集的预处理分为两个阶段,第一阶段包括数据清洗和标准化,第二阶段包括标注和初始信息提取。
3.根据权利要求1所述的一种源代码表征提取方法,其表征在于,对代码构造进行特征提取,包括基于tokens提取源代码行的自然序列,利用bert架构结合自注意层,获得代码行自然序列的表征,使用主成分分析技术pca进行降维。
4.根据权利要求1所述...
【专利技术属性】
技术研发人员:张荣华,徐浩然,陈铭,刘长征,郭兆运,郭庭虎,
申请(专利权)人:石河子大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。