期刊文献+
共找到27篇文章
< 1 2 >
每页显示 20 50 100
基于混合图表示的软件变更预测方法
1
作者 杨馨悦 刘安 +2 位作者 赵雷 陈林 章晓芳 《软件学报》 EI CSCD 北大核心 2024年第8期3824-3842,共19页
软件变更预测旨在识别出具有变更倾向的模块,可以帮助软件管理者和开发人员有效地分配资源,降低维护开销.从代码中提取有效的特征在构建准确的预测模型中起着重要作用.近年来,研究人员从利用传统的手工特征进行预测转向具有强大表示能... 软件变更预测旨在识别出具有变更倾向的模块,可以帮助软件管理者和开发人员有效地分配资源,降低维护开销.从代码中提取有效的特征在构建准确的预测模型中起着重要作用.近年来,研究人员从利用传统的手工特征进行预测转向具有强大表示能力的语义特征,他们从抽象语法树(abstract syntax tree,AST)的节点序列中提取语义特征构建模型.但已有研究忽略了AST的结构信息以及代码中丰富的语义信息,如何提取代码的语义特征仍然是一个具有挑战性的问题.为此,提出一种基于混合图表示的变更预测方法.该模型首先结合AST、控制流图(control flow graph,CFG)、数据流图(data flow graph,DFG)等结构信息构建代码的程序图表示,接着利用图神经网络学习出程序图的语义特征,根据该特征预测变更倾向性.所提模型能够融合各种语义信息以更好地表征代码.在多组变更数据集上开展与最新变更预测方法的对比实验,验证了所提方法的有效性. 展开更多
关键词 软件变更预测 图神经网络 AST 控制流图 数据流图
下载PDF
基于依赖增强的分层抽象语法树的代码克隆检测
2
作者 万泽轩 谢春丽 +1 位作者 吕泉润 梁瑶 《计算机应用》 CSCD 北大核心 2024年第4期1259-1268,共10页
在软件工程领域,基于语义相似的代码克隆检测方法可以降低软件维护的成本并预防系统漏洞,抽象语法树(AST)作为典型的代码抽象表征形式,已成功应用于多种程序语言的代码克隆检测任务,然而现有工作主要利用原始AST提取代码的语义,没有深... 在软件工程领域,基于语义相似的代码克隆检测方法可以降低软件维护的成本并预防系统漏洞,抽象语法树(AST)作为典型的代码抽象表征形式,已成功应用于多种程序语言的代码克隆检测任务,然而现有工作主要利用原始AST提取代码的语义,没有深入挖掘AST中的深层语义和结构信息。针对上述问题,提出一种基于依赖增强的分层抽象语法树(DEHAST)的代码克隆检测方法。首先,对AST进行分层处理,将AST划分得到不同的语义层次;其次,为AST的不同层次添加相应的依赖增强边构建DEHAST,将简单的AST变成具有更丰富程序语义的异构图;最后,使用图匹配网络(GMN)模型检测异构图的相似性,实现代码克隆检测。在BigCloneBench和Google Code Jam两个数据集上的实验结果显示,DEHAST能够检测100%的Type-1和Type-2代码克隆、99%的Type-3代码克隆和97%的Type-4代码克隆;与基于树的方法ASTNN(AST-based Neural Network)相比,F1分数均提高了4个百分点,验证了DEHAST可以较好地完成代码语义克隆检测。 展开更多
关键词 代码克隆检测 语义克隆 抽象语法树 深度学习 图匹配网络
下载PDF
基于词向量模型的漏洞检测方法
3
作者 肖巍 胡景浩 +2 位作者 侯正章 王涛 潘超 《吉林大学学报(理学版)》 CAS 北大核心 2023年第6期1358-1366,共9页
针对漏洞检测领域面临的实验平台不统一、数据集异构等问题,研究词向量模型在C/C++函数漏洞检测方面的应用.用5种词向量模型对源代码生成的抽象语法树结构进行知识表示,用6种神经网络模型进行漏洞检测,实验结果表明,函数级代码具有浅层... 针对漏洞检测领域面临的实验平台不统一、数据集异构等问题,研究词向量模型在C/C++函数漏洞检测方面的应用.用5种词向量模型对源代码生成的抽象语法树结构进行知识表示,用6种神经网络模型进行漏洞检测,实验结果表明,函数级代码具有浅层的语义关系,代码块内部联系紧密. 展开更多
关键词 词向量模型 漏洞检测 抽象语法树 代码表征 神经网络
下载PDF
基于结构和语义的代码分类以及聚类方法 被引量:1
4
作者 金岩磊 秦冠军 +3 位作者 姜凯 甘迪 史志成 周宇 《计算机应用与软件》 北大核心 2023年第7期1-6,33,共7页
提出一个基于抽象语法树(Abstract Syntax Tree,AST)生成代码向量解决代码分类以及聚类任务的深度学习模型,该模型结合了卷积以及循环神经网络能够同时对AST的结构和语义信息进行提取,在代码分类任务上,分类的准确率与该领域最优的模型... 提出一个基于抽象语法树(Abstract Syntax Tree,AST)生成代码向量解决代码分类以及聚类任务的深度学习模型,该模型结合了卷积以及循环神经网络能够同时对AST的结构和语义信息进行提取,在代码分类任务上,分类的准确率与该领域最优的模型效果十分接近,速度却是其1.55倍。聚类任务上Jaccard系数(Jaccard Coefficient)、FMI(Fowlkes and Mallows Index)指数、ACC准确率分别达到74.4%、75.2%和83.6%,对比当下前沿的深度学习模型占有优势。 展开更多
关键词 抽象语法树 代码理解 代码分类 代码聚类 循环神经网络 卷积神经网络
下载PDF
基于源码语义结构分析的智能合约漏洞检测方法 被引量:1
5
作者 李珊 王斌 王伟 《广州大学学报(自然科学版)》 CAS 2023年第4期56-65,共10页
近年来,智能合约已广泛应用于去中心化金融、供应链管理等领域。然而,智能合约漏洞给这些领域造成了严重的损失,由于智能合约部署在区块链上以后无法修改,开发人员写好智能合约后必须检测其安全性。现有的基于深度学习的检测方法大多使... 近年来,智能合约已广泛应用于去中心化金融、供应链管理等领域。然而,智能合约漏洞给这些领域造成了严重的损失,由于智能合约部署在区块链上以后无法修改,开发人员写好智能合约后必须检测其安全性。现有的基于深度学习的检测方法大多使用字节码和源码,然而,基于字节码的检测方法无法定位到漏洞可能出现的位置且直接检测向量化源码准确率低。为了提高漏洞检测的准确率,增加检测结果的可解释性,文章提出了基于源码语义结构分析的智能合约漏洞检测方法。首先,将智能合约源代码转化为抽象语法树,研究源代码和抽象语法树的语法关系;其次,通过对以太坊中合约的抽象语法树属性特征和漏洞特性进行分析,发现5种漏洞相关属性特征,并围绕这些节点特征将抽象语法树进行切片,得到与漏洞特性相关的子树切片;最后,提取子树切片的结构特征和属性特征,并将其表示为图结构。使用具有更好图表示能力的图同构网络模型检测子树切片的图结构并利用33812个以太坊上的智能合约进行实验,实验结果表明,文章所提出的方法有效性显著高于其他方法,Macro-F1超过90%,未检查返回值和重入这两种漏洞的F1-score分别达到97%和92%。 展开更多
关键词 区块链 智能合约 抽象语法树 图同构网络
下载PDF
软件缺陷预测模型可解释性对比 被引量:4
6
作者 李汇来 杨斌 +1 位作者 于秀丽 唐晓梅 《计算机科学》 CSCD 北大核心 2023年第5期21-30,共10页
软件缺陷预测已经成为软件测试中的重要研究方向,缺陷预测的全面与否直接影响着测试效率和程序运行。但现有的缺陷预测是根据历史数据进行推断,大多不能对预测过程给出合理的解释,这种黑盒的预测过程仅仅展现输出结果,使得人们难以得知... 软件缺陷预测已经成为软件测试中的重要研究方向,缺陷预测的全面与否直接影响着测试效率和程序运行。但现有的缺陷预测是根据历史数据进行推断,大多不能对预测过程给出合理的解释,这种黑盒的预测过程仅仅展现输出结果,使得人们难以得知测试模型内部结构对输出的影响。为解决这一问题,需挑选软件度量方法和部分典型深度学习模型,对其输入、输出及结构进行简要对比,从数据差异程度和模型对代码的处理过程两个角度进行分析,对它们的异同给出解释。实验表明,采用深度学习的方法进行缺陷预测比传统软件度量方法更加有效,这主要是由它们对原始数据处理过程不同造成的;采用卷积神经网络和长短期记忆神经网络做缺陷预测时,数据差异主要由对代码信息理解的完整程度不同造成的。综上可知,要提高对软件缺陷的预测能力,模型的计算应该对代码的语义、逻辑和上下文联系进行全面的介入,避免有用信息被遗漏。 展开更多
关键词 软件缺陷预测 可解释性 软件度量 神经网络 抽象语法树
下载PDF
基于Transformer和卷积神经网络的代码克隆检测 被引量:1
7
作者 贲可荣 杨佳辉 +1 位作者 张献 赵翀 《郑州大学学报(工学版)》 CAS 北大核心 2023年第6期12-18,共7页
基于深度学习的代码克隆检测方法往往作用在代码解析的词序列上或是整棵抽象语法树上,使用基于循环神经网络的时间序列模型提取特征,这会遗漏源代码的重要语法语义信息并诱发梯度消失。针对这一问题,提出一种基于Transformer和卷积神经... 基于深度学习的代码克隆检测方法往往作用在代码解析的词序列上或是整棵抽象语法树上,使用基于循环神经网络的时间序列模型提取特征,这会遗漏源代码的重要语法语义信息并诱发梯度消失。针对这一问题,提出一种基于Transformer和卷积神经网络的代码克隆检测方法(TCCCD)。首先,TCCCD将源代码表示成抽象语法树,并将抽象语法树切割成语句子树输入给神经网络,其中,语句子树由先序遍历得到的语句结点序列构成,蕴含了代码的结构和层次化信息。其次,在神经网络设计方面,TCCCD使用Transformer的Encoder部分提取代码的全局信息,再利用卷积神经网络捕获代码的局部信息。再次,融合2个不同网络提取出的特征,学习得到蕴含词法、语法和结构信息的代码向量表示。最后,采用两段代码向量的欧氏距离表征语义关联程度,训练一个分类器检测代码克隆。实验结果表明:在OJClone数据集上,精度、召回率、F 1值分别能达到98.9%、98.1%和98.5%;在BigCloneBench数据集上,精度、召回率、F 1值分别能达到99.1%、91.5%和94.2%。与其他方法对比,精度、召回率、F 1值均有提升,所提方法能够有效检测代码克隆。 展开更多
关键词 代码克隆检测 抽象语法树(AST) TRANSFORMER 卷积神经网络 代码特征提取
下载PDF
基于网络度量元的Solidity智能合约缺陷预测
8
作者 李显伟 潘伟丰 +2 位作者 王家乐 潘云 袁成祥 《计算机应用研究》 CSCD 北大核心 2023年第12期3545-3550,共6页
针对现有智能合约缺陷预测方法未考虑合约代码内部结构对缺陷产生的影响的不足,提出了一种基于网络度量元的Solidity智能合约缺陷预测方法。首先,通过Solidity-Antlr4工具构建Solidity智能合约的抽象语法树(abstract syntax tree, AST)... 针对现有智能合约缺陷预测方法未考虑合约代码内部结构对缺陷产生的影响的不足,提出了一种基于网络度量元的Solidity智能合约缺陷预测方法。首先,通过Solidity-Antlr4工具构建Solidity智能合约的抽象语法树(abstract syntax tree, AST);其次,根据抽象语法树构建合约网络,网络中的节点代表函数和属性,边代表函数间的调用关系和函数对属性的操作关系;然后,引入复杂网络领域的知识,构建了一套针对Solidity智能合约的网络度量元;最后,基于多种回归模型和分类模型构建智能合约缺陷预测模型,进而比较不同类型的度量元在Solidity智能合约缺陷预测方面的性能。数据实验表明,结合了网络度量元的缺陷预测模型的预测性能比相应没有结合网络度量元的模型要好。 展开更多
关键词 智能合约 软件缺陷预测 网络度量元集 SOLIDITY 抽象语法树
下载PDF
基于增强AST的图神经网络函数级代码漏洞检测方法 被引量:2
9
作者 顾守珂 陈文 《计算机科学》 CSCD 北大核心 2023年第6期283-290,共8页
软件漏洞逐年递增,安全问题愈发严重。在软件项目的交付阶段对原始代码进行漏洞检测可以有效避免后期运行时的安全漏洞,而代码漏洞检测依赖于有效的代码表征。传统的基于软件度量的表征方法与漏洞关联性较弱,难以对漏洞信息进行有效表... 软件漏洞逐年递增,安全问题愈发严重。在软件项目的交付阶段对原始代码进行漏洞检测可以有效避免后期运行时的安全漏洞,而代码漏洞检测依赖于有效的代码表征。传统的基于软件度量的表征方法与漏洞关联性较弱,难以对漏洞信息进行有效表征。近年来,机器学习为漏洞的智能化发现提供了新的思路,但该方法同样可能遗漏关键的代码特征信息。针对以上问题,文中在传统抽象语法树(AST)上增加控制依赖、数据依赖和语句序列边生成增强抽象语法树(EXAST)图结构,对原始代码进行表征以更好地处理代码结构化信息,并采用词向量嵌入算法(Word2Vec)将代码信息初始化为机器能够识别和学习的数值向量。同时,在传统的图神经网络(GNN)中引入门控循环单元(GRU),构建图识别模型,以缓解梯度消失并加强图结构中长期信息的传播,从而增强了代码执行的时序关系,提高了漏洞检测的准确度。最后在SARD公开数据集上对模型进行对比测试,实现了函数粒度的代码漏洞检测,相比传统的漏洞检测方法,准确率和F1分值分别最大提高了32.54%和44.99,实验结果证明了所提方法对代码漏洞检测的有效性。 展开更多
关键词 漏洞挖掘 图神经网络 深度学习 抽象语法树 门控循环单元
下载PDF
一种基于神经网络的代码嵌入方法
10
作者 孙雪凯 蒋烈辉 《计算机科学》 CSCD 北大核心 2023年第5期64-71,共8页
对代码进行分析研究具有很多的应用场景,例如代码抄袭检测、软件漏洞搜索等。随着人工智能的发展,神经网络技术被广泛应用于代码分析和研究。然而,现有的方法要么简单地将代码视为普通的自然语言处理,要么使用太过复杂的规则对代码进行... 对代码进行分析研究具有很多的应用场景,例如代码抄袭检测、软件漏洞搜索等。随着人工智能的发展,神经网络技术被广泛应用于代码分析和研究。然而,现有的方法要么简单地将代码视为普通的自然语言处理,要么使用太过复杂的规则对代码进行采样,前者的处理方式容易造成代码关键信息的丢失,而后者会造成算法过于复杂,模型的训练需要花费较长的时间。Alon等提出了一种名为Code2vec的算法,该算法采用了一种简单且有效的代码表示方法,相比之前的代码分析方法有着显著的优势,但Code2vec算法仍存在一些局限性。因此,在其基础上提出了一种基于神经网络的代码嵌入方法,该方法的主要思想是将代码函数表示为代码的嵌入向量。首先将一个代码函数分解为一系列抽象语法树路径,然后通过神经网络去学习如何表示每一条路径,最后将所有路径聚合成一个嵌入向量来表示当前的代码函数。文中实现了一个基于该方法的原型系统,实验结果表明,相比Code2vec,所提算法的结构更加简单、训练速度更快。 展开更多
关键词 神经网络 代码嵌入 代码分析 抽象语法树 代码分类
下载PDF
基于抽象语法树和图匹配网络的代码作者身份识别
11
作者 郭迪骁 周安民 +1 位作者 刘亮 张磊 《四川大学学报(自然科学版)》 CAS CSCD 北大核心 2023年第6期107-115,共9页
源代码作者身份识别有助于解决恶意代码攻击溯源、代码剽窃、软件侵权等问题,本文提出一种新的基于图匹配网络和抽象语法树的源代码作者身份识别方法.首先,通过删除注释、统一换行符、制表符预处理源代码,消除不同集成开发环境和代码布... 源代码作者身份识别有助于解决恶意代码攻击溯源、代码剽窃、软件侵权等问题,本文提出一种新的基于图匹配网络和抽象语法树的源代码作者身份识别方法.首先,通过删除注释、统一换行符、制表符预处理源代码,消除不同集成开发环境和代码布局的影响;然后,基于数据增强抽象语法树将源代码转换为树结构,添加不同类型的边构建代码特征图,不仅关注语法和句法特征,还提取了代码中数据流和控制流特征;接着使用特征图训练图匹配神经网络,生成源代码的图嵌入特征向量;最后,使用孪生神经网络对输出的两个图嵌入特征向量进行计算,识别源代码作者身份.实验结果表明,本文的方法在包含1000位程序员的Google Code Jam数据集上达到了95.60%的准确率,与现有的源代码作者身份识别方法相比,提高了准确率和扩展性. 展开更多
关键词 代码样式 去匿名化 抽象语法树 图神经网络 孪生神经网络
下载PDF
一种采用对抗学习的跨项目缺陷预测方法 被引量:5
12
作者 邢颖 钱晓萌 +3 位作者 管宇 章世豪 赵梦赐 林婉婷 《软件学报》 EI CSCD 北大核心 2022年第6期2097-2112,共16页
跨项目缺陷预测(cross-project defect prediction, CPDP)已经成为软件工程数据挖掘领域的一个重要研究方向,它利用其他项目的缺陷代码来建立预测模型,解决了模型构建过程中的数据不足问题.然而源项目和目标项目的代码文件之间存在着数... 跨项目缺陷预测(cross-project defect prediction, CPDP)已经成为软件工程数据挖掘领域的一个重要研究方向,它利用其他项目的缺陷代码来建立预测模型,解决了模型构建过程中的数据不足问题.然而源项目和目标项目的代码文件之间存在着数据分布的差异,导致跨项目预测效果不佳.基于生成式对抗网络(generative adversarial network,GAN)中的对抗学习思想,在鉴别器的作用下,通过改变目标项目特征的分布,使其接近于源项目特征的分布,从而提升跨项目缺陷预测的性能.具体来说,提出的抽象连续生成式对抗网络(abstract continuous generative adversarial network, AC-GAN)方法包括数据处理和模型构建两个阶段:(1)首先将源项目和目标项目的代码转换为抽象语法树(abstract syntax tree,AST)的形式,然后以深度优先方式遍历抽象语法树得出节点序列,再使用连续词袋模型(continuous bag-of-words model,CBOW)生成词向量,依据词向量表将节点序列转化为数值向量;(2)处理后的数值向量被送入基于GAN网络结构的模型进行特征提取和数据迁移,然后使用二分类器来判断目标项目代码文件是否有缺陷. AC-GAN方法在15组源-目标项目对上进行了对比实验,实验结果表明了该方法的有效性. 展开更多
关键词 跨项目缺陷预测 生成式对抗网络 连续词袋模型 抽象语法树
下载PDF
基于前馈神经网络的编译器测试用例生成方法 被引量:6
13
作者 徐浩然 王勇军 +2 位作者 黄志坚 解培岱 范书珲 《软件学报》 EI CSCD 北大核心 2022年第6期1996-2011,共16页
编译器模糊测试,是测试编译器功能性与安全性的常用技术之一.模糊测试器通过产生语法正确的测试用例,对编译器的深层代码展开测试.近来,基于循环神经网络的深度学习模型被引入编译器模糊测试用例生成过程.针对现有方法生成测试用例的语... 编译器模糊测试,是测试编译器功能性与安全性的常用技术之一.模糊测试器通过产生语法正确的测试用例,对编译器的深层代码展开测试.近来,基于循环神经网络的深度学习模型被引入编译器模糊测试用例生成过程.针对现有方法生成测试用例的语法正确率不足、生成效率低的问题,提出一种基于前馈神经网络的编译器模糊测试用例生成方法,并设计实现了原型工具FAIR.与现有的基于token序列学习的方法不同,FAIR从抽象语法树中提取代码片段,利用基于自注意力的前馈神经网络捕获代码片段之间的语法关联,通过学习程序设计语言的生成式模型,自动生成多样化的测试用例.实验结果表明,FAIR生成测试用例的解析通过率以及生成效率均优于同类型先进方法.该方法显著提升了检测编译器软件缺陷的能力,已成功检测出GCC和LLVM的20处软件缺陷.此外,该方法具有良好的可移植性,简单移植后的FAIR-JS已在JavaScript引擎中检测到两处软件缺陷. 展开更多
关键词 软件缺陷 编译器模糊测试 深度学习 前馈神经网络 抽象语法树
下载PDF
基于抽象语法树的智能化漏洞检测系统 被引量:9
14
作者 陈肇炫 邹德清 +1 位作者 李珍 金海 《信息安全学报》 CSCD 2020年第4期1-13,共13页
源代码漏洞的自动检测是一个重要的研究课题。目前现有的解决方案大多是基于线性模型,依赖于源代码的文本信息而忽略了语法结构信息,从而造成了源代码语法和语义信息的丢失,同时也遗漏了许多漏洞特征。提出了一种基于结构表征的智能化... 源代码漏洞的自动检测是一个重要的研究课题。目前现有的解决方案大多是基于线性模型,依赖于源代码的文本信息而忽略了语法结构信息,从而造成了源代码语法和语义信息的丢失,同时也遗漏了许多漏洞特征。提出了一种基于结构表征的智能化漏洞检测系统Astor,致力于使用源代码的结构信息进行智能化漏洞检测,所考虑的结构信息是抽象语法树(Abstract Syntax Tree,AST)。首先,构建了一个从源代码转化而来且包含源码语法结构信息的数据集,提出使用深度优先遍历的机制获取AST的语法表征。最后,使用神经网络模型学习AST的语法表征。为了评估Astor的性能,对多个基于结构化数据和基于线性数据的漏洞检测系统进行比较,实验结果表明Astor能有效提升漏洞检测能力,降低漏报率和误报率。此外,还进一步总结出结构化模型更适用于长度大,信息量丰富的数据。 展开更多
关键词 漏洞检测 结构表征 抽象语法树 神经网络
下载PDF
容错的网络声明式程序
15
作者 汪芳 Stephane GRUMBACH 《软件学报》 EI CSCD 北大核心 2012年第8期1992-2001,共10页
介绍了基于递归规则的网络声明式语言Netlog的语法和分布式不动点语义,定义了强良好的程序,并证明了强良好的程序的计算结果对有限的消息丢失不敏感.
关键词 网络编程抽象 声明式语言 语法 语义 容错性
下载PDF
局网管理信息库的多变量访问实现机制
16
作者 杜荔 王越先 +1 位作者 王光兴 尹玉娟 《小型微型计算机系统》 CSCD 北大核心 1998年第10期37-41,共5页
本文在概述了局网管理的系统构成、SNMP标准、SNMP协议报文类型及操作之后。
关键词 局域网 网络管理信息库 多变量访问
下载PDF
一种改进ASTNN网络的PHP代码漏洞挖掘方法 被引量:10
17
作者 胡建伟 赵伟 +1 位作者 崔艳鹏 崔俊洁 《西安电子科技大学学报》 EI CAS CSCD 北大核心 2020年第6期164-173,共10页
针对传统的动静态PHP漏洞挖掘技术效率低、误报率高、漏洞匹配规则过于单一且不具有泛化性的问题,以及现有的以token序列、软件度量等作为特征的神经网络模型不能很好地理解代码语义的问题,提出了一种基于ASTNN深度神经网络的PHP漏洞挖... 针对传统的动静态PHP漏洞挖掘技术效率低、误报率高、漏洞匹配规则过于单一且不具有泛化性的问题,以及现有的以token序列、软件度量等作为特征的神经网络模型不能很好地理解代码语义的问题,提出了一种基于ASTNN深度神经网络的PHP漏洞挖掘方法。首先,根据表达式子树的概念及PHP抽象语法树的特点定义了表达式子树划分规则;其次,根据PHP抽象语法树的特殊结构对传统ASTNN深度神经网络的编码层进行了改进,在提高模型效率的同时更好地保留了抽象语法树所包含的语义信息。最终实验结果表明,基于改进后ASTNN网络的PHP漏洞挖掘方法相对于传统的漏洞挖掘方法具有更高的准确率及召回率。改进后的ASTNN深度神经网络模型适用于PHP语言漏洞挖掘领域。 展开更多
关键词 抽象语法树 深度学习 循环神经网络 漏洞挖掘
下载PDF
快速传送语法的设计与实现
18
作者 龚正虎 《国防科技大学学报》 EI CAS CSCD 北大核心 1993年第1期26-30,共5页
国际标准化组织提出的抽象语法ASN-1和传送语法ASN-BER功能强,通用灵活,但在一般实现中存在编码效率低和开销大的缺点。本文讨论提高编码效率和速度的一般方法,以及描述快速传送语法的设计与实现技术。
关键词 计算机网络 抽象语法 传送语法
下载PDF
基于结构化文本及代码度量的漏洞检测方法 被引量:6
19
作者 杨宏宇 应乐意 张良 《湖南大学学报(自然科学版)》 EI CAS CSCD 北大核心 2022年第4期58-68,共11页
目前的源代码漏洞检测方法大多仅依靠单一特征进行检测,表征的维度单一导致方法效率低.针对上述问题提出一种基于结构化文本及代码度量的漏洞检测方法,在函数级粒度进行漏洞检测.利用源代码结构化文本信息及代码度量结果作为特征,通过... 目前的源代码漏洞检测方法大多仅依靠单一特征进行检测,表征的维度单一导致方法效率低.针对上述问题提出一种基于结构化文本及代码度量的漏洞检测方法,在函数级粒度进行漏洞检测.利用源代码结构化文本信息及代码度量结果作为特征,通过构造基于自注意力机制的神经网络捕获结构化文本信息中的长期依赖关系,以拟合结构化文本和漏洞存在之间的联系并转化为漏洞存在的概率.采用深度神经网络对代码度量的结果进行特征学习以拟合代码度量值与漏洞存在的关系,并将其拟合的结果转化为漏洞存在的概率.采用支持向量机对由上述两种表征方式获得的漏洞存在概率做进一步的决策分类并获得漏洞检测的最终结果.为验证该方法的漏洞检测性能,针对存在不同类型漏洞的11种源代码样本进行漏洞检测实验,该方法对每种漏洞的平均检测准确率为97.96%,与现有基于单一表征的漏洞检测方法相比,该方法的检测准确率提高了4.89%~12.21%,同时,该方法的漏报率和误报率均保持在10%以内. 展开更多
关键词 漏洞检测 结构化表征 抽象语法树 代码度量 深度神经网络
下载PDF
基于抽象语法树压缩编码的漏洞检测方法 被引量:3
20
作者 陈传涛 潘丽敏 +2 位作者 龚俊 马勇 罗森林 《信息安全研究》 2022年第1期35-42,共8页
针对基于抽象语法树的源代码漏洞检测方法难以从大规模语法树中充分提取语法和结构特征,导致漏洞表征能力不足、检测准确率低的问题,提出了一种基于抽象语法树压缩编码(abstract syntax tree compressed coding,ASTCC)的源代码漏洞检测... 针对基于抽象语法树的源代码漏洞检测方法难以从大规模语法树中充分提取语法和结构特征,导致漏洞表征能力不足、检测准确率低的问题,提出了一种基于抽象语法树压缩编码(abstract syntax tree compressed coding,ASTCC)的源代码漏洞检测方法.该方法首先将程序抽象语法树以代码语句为单元分割成1组子树;然后通过递归神经网络对子树进行编码以提取代码语句内语法信息;再将原始语法树中的子树替换为其编码节点,从而在保留结构特征的同时减小原始语法树的深度并减少了叶子节点数量;最后,通过带注意力机制的树卷积神经网络实现源代码漏洞检测.在NVD和SARD公开数据集上的实验结果表明,ASTCC方法能够降低抽象语法树的规模,增强模型对源代码漏洞的表征能力,有效提升漏洞检测的准确率. 展开更多
关键词 漏洞检测 抽象语法树 树卷积神经网络 注意力机制 结构特征
下载PDF
上一页 1 2 下一页 到第
使用帮助 返回顶部