期刊文献+
共找到104篇文章
< 1 2 6 >
每页显示 20 50 100
基于BERT和自注意力SRU的AST级Webshell检测方法
1
作者 李道丰 宁梓桁 《信息网络安全》 北大核心 2025年第2期270-280,共11页
Webshell作为一种隐蔽性强、危害性大的网页后门,已在网络安全领域受到广泛关注。Webshell代码的混淆技术显著降低了传统检测方法的有效性,且许多传统检测模型未能有效应对高效处理大量数据的需求。因此,文章提出一种结合BERT词嵌入、双... Webshell作为一种隐蔽性强、危害性大的网页后门,已在网络安全领域受到广泛关注。Webshell代码的混淆技术显著降低了传统检测方法的有效性,且许多传统检测模型未能有效应对高效处理大量数据的需求。因此,文章提出一种结合BERT词嵌入、双向SRU网络结合自注意力机制的Webshell检测方法BAT-SRU。该方法通过抽象语法树提取代码特征,结合样本解混淆与危险函数统计提升特征质量,并采用BAT-SRU模型进行检测。现有方法如基于Word2Vec与双向GRU的检测方法、基于操作码序列与随机森林的分类方法以及基于Text-CNN的AST特征提取方法,存在特征表达不足和对复杂混淆代码适应性差的问题。相比上述方法,BAT-SRU在检测PHP Webshell上性能更优异,得到了准确率99.68%、精确率99.13%、召回率99.22%和F1值99.18%的实验结果。此外,与RNN及其变体模型相比,BAT-SRU在训练时间上可以节约23.47%,在推理时间上可以节省40.14%。 展开更多
关键词 PHP Webshell 抽象语法树 BERT词嵌入 SRU 自注意力
在线阅读 下载PDF
基于AST的MATLAB到Python转换器
2
作者 郭瑞 徐文浩 +2 位作者 谢鹏志 杨威 宋友 《计算机工程与科学》 北大核心 2025年第6期1041-1049,共9页
MATLAB语言被广泛应用于工业领域产品研发的各个环节,但是在实际工程应用场景中,需要将其建立的机理模型脱离MATLAB运行环境,与实际的工程系统集成应用,故需要一种将MATLAB建立的模型快速工程化的工具。为此,提出一种MATLAB到Python转换... MATLAB语言被广泛应用于工业领域产品研发的各个环节,但是在实际工程应用场景中,需要将其建立的机理模型脱离MATLAB运行环境,与实际的工程系统集成应用,故需要一种将MATLAB建立的模型快速工程化的工具。为此,提出一种MATLAB到Python转换器M2P,该转换器基于抽象语法树AST,将源代码转换到AST结构,对该结构进行分析并利用替换规则生成结果代码,最终实现MATLAB到Python的代码等价转换。对比代码转换实验的结果表明,所提转换器与现有的其他MATLAB到Python转换转换器相比具有更高的转换性能。 展开更多
关键词 代码转换 MATLAB-to-Python 抽象语法树
在线阅读 下载PDF
任务安全关键软件构造时在线监控方法研究
3
作者 王犇 丁成钧 +1 位作者 林伟 马春燕 《西北工业大学学报》 北大核心 2025年第3期600-609,共10页
C语言因其灵活性和高效率在航空航天等多个任务关键领域得到广泛应用。然而,C语言程序存在安全风险,如指针操作不严格限定、数组和字符串缺乏边界检查等,容易引发潜在的运行时故障,造成不可挽回的损失。针对此类问题,提出一种任务安全... C语言因其灵活性和高效率在航空航天等多个任务关键领域得到广泛应用。然而,C语言程序存在安全风险,如指针操作不严格限定、数组和字符串缺乏边界检查等,容易引发潜在的运行时故障,造成不可挽回的损失。针对此类问题,提出一种任务安全关键软件C程序构造时的在线监控方法,在构造C程序时对代码进行实时监控和静态分析,高效检测潜在故障。针对在线编辑的C程序片段的实时编译及测试问题,提出了一种混合式监控方法的片段程序可编译版本自动生成技术。针对任务安全关键软件5类运行时故障的产生条件归纳出43种故障类型,基于抽象语法树建立在线编辑的C程序片段故障的规则库。提出了基于语法结构匹配算法,实现在线编辑的C程序片段故障监控。实验选择50个安全关键软件常用的C程序代码进行验证,共计匹配到41种、146个潜在运行时故障,结果表明,文中监控方法能够有效识别潜在故障,提高软件安全性和可信性。 展开更多
关键词 在线监控 故障检测 抽象语法树 自动化测试
在线阅读 下载PDF
DeepCom-GCN:融入控制流结构信息的代码注释生成模型
4
作者 钟茂生 刘会珠 +1 位作者 匡江玲 严婷 《江西师范大学学报(自然科学版)》 北大核心 2025年第1期27-36,共10页
代码注释生成是指给定一个代码片段,通过模型自动生成一段关于代码片段功能的概括性自然语言描述.不同于自然语言,程序语言具有复杂语法和强结构性.部分研究工作只利用了源代码的序列信息或抽象语法树信息,未能充分利用源代码的逻辑结... 代码注释生成是指给定一个代码片段,通过模型自动生成一段关于代码片段功能的概括性自然语言描述.不同于自然语言,程序语言具有复杂语法和强结构性.部分研究工作只利用了源代码的序列信息或抽象语法树信息,未能充分利用源代码的逻辑结构信息.针对这一问题,该文提出一种融入程序控制流结构信息的代码注释生成方法,将源代码序列和结构信息作为单独的输入进行处理,允许模型学习代码的语义和结构.在2个公开数据集上进行验证,实验结果表明:和其他基线方法相比,DeepCom-GCN在BLEU-4、METEOR和ROUGE-L指标上的性能分别提升了2.79%、1.67%和1.21%,验证了该方法的有效性. 展开更多
关键词 代码注释生成 抽象语法树 控制流图 图卷积神经网络 软件工程 程序理解 自然语言处理
在线阅读 下载PDF
一种基于AST的代码抄袭检测方法 被引量:8
5
作者 张丽萍 刘东升 +1 位作者 李彦臣 钟美 《计算机应用研究》 CSCD 北大核心 2011年第12期4616-4620,共5页
针对目前代码抄袭检测方面的研究大多是基于程序源码层面进行相似度比较,不需要对代码进行语法分析,由于忽略程序语法语义,对稍加结构修改的抄袭行为无法有效检测的现状,提出一种基于AST的代码抄袭检测方法。先将代码进行格式化预处理,... 针对目前代码抄袭检测方面的研究大多是基于程序源码层面进行相似度比较,不需要对代码进行语法分析,由于忽略程序语法语义,对稍加结构修改的抄袭行为无法有效检测的现状,提出一种基于AST的代码抄袭检测方法。先将代码进行格式化预处理,再进行词法分析、语法分析,得到对应的AST;然后遍历AST生成代码序列,对代码序列进行相似度计算,从而得到代码的抄袭检测报告。实验结果表明,该方法能够有效检测出C程序代码的抄袭行为,并对C++、Java等多种程序代码的抄袭检测具有一定的通用性和可扩展性。 展开更多
关键词 抽象语法树 抄袭检测 开源语法分析器 相似度
在线阅读 下载PDF
基于规则验证的Dockerfile临时文件静态检测方法
6
作者 苏珲 张建辉 +1 位作者 曾俊杰 楚小茜 《计算机工程》 北大核心 2025年第3期189-196,共8页
Dockerfile中存在的临时文件问题使Docker镜像打包了超过其功能所需的不必要的文件资源,导致镜像尺寸增大,影响了镜像传输和部署的效率。现有的动态分析法在运行时会产生大量日志,造成较大的系统开销,而静态分析法无法检测出临时文件的... Dockerfile中存在的临时文件问题使Docker镜像打包了超过其功能所需的不必要的文件资源,导致镜像尺寸增大,影响了镜像传输和部署的效率。现有的动态分析法在运行时会产生大量日志,造成较大的系统开销,而静态分析法无法检测出临时文件的多种变化形式,限制了其在日常检测中的有效应用。提出一种Dockerfile临时文件静态检测方法,通过规则验证收集21种临时文件形式,使用节点关联算法改进抽象语法树(AST)结构,提高检测效率,并在节点关联的AST(NA-AST)结构基础上使用着色机制对节点进行处理,保证检测完整性。实验结果表明,相较于现有方法,所提方法能够以较小的时间开销检测出文件中存在的各种临时文件形式。此外,提供一种对临时文件形式分类的依据,其可用于对后续临时文件新增形式的分析和检测,具有较高的普适性。 展开更多
关键词 Docker技术 容器 Dockerfile临时文件 抽象语法树 镜像
在线阅读 下载PDF
基于AST的存储过程自动评估模型研究
7
作者 王海燕 杨鹤标 《计算机应用与软件》 CSCD 北大核心 2013年第3期170-173,共4页
针对数据库机器学习过程中的存储过程评估问题,提出基于AST的存储过程自动评估模型。从静态评估的角度,给出了模型的整体框架;以构建存储过程的抽象语法树AST(Abstract Syntax Tree)为分析基础,通过改进的树编辑距离映射的代价模型,计... 针对数据库机器学习过程中的存储过程评估问题,提出基于AST的存储过程自动评估模型。从静态评估的角度,给出了模型的整体框架;以构建存储过程的抽象语法树AST(Abstract Syntax Tree)为分析基础,通过改进的树编辑距离映射的代价模型,计算用户存储过程代码和目标程序之间的相似度;最后,利用学习样例说明了评估方法的有效性。 展开更多
关键词 存储过程 ast 相似度 树编辑距离
在线阅读 下载PDF
智能合约漏洞检测及自动化修复方法
8
作者 王嘉诚 蒋佳佳 +1 位作者 张玉书 赵佳豪 《计算机工程与设计》 北大核心 2025年第1期107-116,共10页
为解决智能合约存在的安全漏洞问题,研究智能合约漏洞检测及自动化修复方法。对智能合约进行漏洞检测,获得包含漏洞类别及位置等关键信息的检测报告,将智能合约源代码解析为抽象语法树格式,根据检测报告提供的漏洞信息,结合预定义漏洞... 为解决智能合约存在的安全漏洞问题,研究智能合约漏洞检测及自动化修复方法。对智能合约进行漏洞检测,获得包含漏洞类别及位置等关键信息的检测报告,将智能合约源代码解析为抽象语法树格式,根据检测报告提供的漏洞信息,结合预定义漏洞修复模板,在抽象语法树层面对智能合约进行修复,根据抽象语法树反向解析获得修复后的智能合约源代码,实现智能合约的漏洞检测及自动化修复。实验结果表明,所研究的方法能够以较高的成功率修复智能合约漏洞,增强智能合约的正确性。 展开更多
关键词 区块链 智能合约 安全漏洞 漏洞检测 自动化修复 抽象语法树 修复模板
在线阅读 下载PDF
一种CMA数值预报模式代码质量检测方法与实现
9
作者 李佳静 杨泽 +3 位作者 王彬 刘易凡 董泽信 孟涛 《应用气象学报》 北大核心 2025年第2期155-163,共9页
中国气象局(CMA)数值预报的统筹研发对支撑平台的能力建设提出了更高要求,其中一个重要方面就是对数值预报模式代码的质量检测能力。目前缺乏有效针对数值预报模式代码的质量检测方法和工具,尤其对于性能缺陷和大规模代码的检测不能满... 中国气象局(CMA)数值预报的统筹研发对支撑平台的能力建设提出了更高要求,其中一个重要方面就是对数值预报模式代码的质量检测能力。目前缺乏有效针对数值预报模式代码的质量检测方法和工具,尤其对于性能缺陷和大规模代码的检测不能满足需要。为解决上述问题,该文针对子程序定义、数组操作和I/O操作等常见编程规则设计检测方法。该方法采用程序代码解析、抽象语法树匹配和流敏感的静态程序检测等关键技术,其中对分支和循环语句的分析方法有效避免了路径爆炸问题。基于该方法的检测工具在数值预报科创平台V1.0代码协同开发栏目提供使用,并应用于CMA区域数值模式的国省统筹研发。 展开更多
关键词 数值预报模式代码 代码质量 抽象语法树匹配 流敏感程序分析 有穷状态机
在线阅读 下载PDF
从GCC的AST文本提取C源程序静态信息的方法 被引量:2
10
作者 封战胜 苏小红 马培军 《哈尔滨工业大学学报》 EI CAS CSCD 北大核心 2010年第7期1100-1103,共4页
为了能够正确的分析源程序的控制依赖关系和数据依赖关系,以便在此基础上进行程序切片及冗余代码和重复代码检测,提出一种利用GCC抽象语法树(AST)文本来提取源程序静态信息的方法.首先,对GCCAST文本进行标准化及消除文本中与控制流分析... 为了能够正确的分析源程序的控制依赖关系和数据依赖关系,以便在此基础上进行程序切片及冗余代码和重复代码检测,提出一种利用GCC抽象语法树(AST)文本来提取源程序静态信息的方法.首先,对GCCAST文本进行标准化及消除文本中与控制流分析和数据流分析无关的结点信息;其次,构建控制依赖子图;同时如果需要数据流分析,在控制依赖子图的基础上构建控制流图,在控制流图的基础上构建数据流子图;最后通过引入过程间分析来完善系统依赖图.实验结果表明,这种方法基本能正确的分析源程序的控制依赖和数据依赖关系,具有更好的适应性和灵活性. 展开更多
关键词 程序静态分析 ast 控制依赖 数据依赖 控制流图 系统依赖图
在线阅读 下载PDF
一种改进ASTNN网络的PHP代码漏洞挖掘方法 被引量:10
11
作者 胡建伟 赵伟 +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
基于增强AST的图神经网络函数级代码漏洞检测方法 被引量:5
12
作者 顾守珂 陈文 《计算机科学》 CSCD 北大核心 2023年第6期283-290,共8页
软件漏洞逐年递增,安全问题愈发严重。在软件项目的交付阶段对原始代码进行漏洞检测可以有效避免后期运行时的安全漏洞,而代码漏洞检测依赖于有效的代码表征。传统的基于软件度量的表征方法与漏洞关联性较弱,难以对漏洞信息进行有效表... 软件漏洞逐年递增,安全问题愈发严重。在软件项目的交付阶段对原始代码进行漏洞检测可以有效避免后期运行时的安全漏洞,而代码漏洞检测依赖于有效的代码表征。传统的基于软件度量的表征方法与漏洞关联性较弱,难以对漏洞信息进行有效表征。近年来,机器学习为漏洞的智能化发现提供了新的思路,但该方法同样可能遗漏关键的代码特征信息。针对以上问题,文中在传统抽象语法树(AST)上增加控制依赖、数据依赖和语句序列边生成增强抽象语法树(EXAST)图结构,对原始代码进行表征以更好地处理代码结构化信息,并采用词向量嵌入算法(Word2Vec)将代码信息初始化为机器能够识别和学习的数值向量。同时,在传统的图神经网络(GNN)中引入门控循环单元(GRU),构建图识别模型,以缓解梯度消失并加强图结构中长期信息的传播,从而增强了代码执行的时序关系,提高了漏洞检测的准确度。最后在SARD公开数据集上对模型进行对比测试,实现了函数粒度的代码漏洞检测,相比传统的漏洞检测方法,准确率和F1分值分别最大提高了32.54%和44.99,实验结果证明了所提方法对代码漏洞检测的有效性。 展开更多
关键词 漏洞挖掘 图神经网络 深度学习 抽象语法树 门控循环单元
在线阅读 下载PDF
基于混合图表示的软件变更预测方法 被引量:1
13
作者 杨馨悦 刘安 +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
14
作者 万泽轩 谢春丽 +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
编译型嵌入式Python的设计与实现 被引量:4
15
作者 李春亭 王宜怀 +1 位作者 施连敏 张露 《计算机工程与设计》 北大核心 2024年第1期79-87,共9页
针对面向微控制器的解释型MicroPython具有实时性弱、占用存储空间大和可移植性较差等问题,提出一种将Python语言转化为C++语言并将构件层与应用层分离的编译型嵌入式Python方案,设计基于抽象语法树及类型注释的源码映射机制。在此基础... 针对面向微控制器的解释型MicroPython具有实时性弱、占用存储空间大和可移植性较差等问题,提出一种将Python语言转化为C++语言并将构件层与应用层分离的编译型嵌入式Python方案,设计基于抽象语法树及类型注释的源码映射机制。在此基础上,设计嵌入式Python编译器,实现集成开发环境AHL-GEC-IDE(for Python版),完成Python源文件的编辑、编译、链接和下载。实践结果表明,该编译型Python方案可行,为嵌入式人工智能领域提供了一种实时性较高、编辑编译方便、可移植性较强的编译型Python集成开发环境。 展开更多
关键词 编译型嵌入式Python 微型Python解释器 微控制器 抽象语法树 类型注释 混合编程 可移植性
在线阅读 下载PDF
基于对比学习的跨语言代码克隆检测方法 被引量:1
16
作者 吕泉润 谢春丽 +1 位作者 万泽轩 魏家劲 《计算机应用研究》 CSCD 北大核心 2024年第7期2147-2152,共6页
代码克隆检测是提高软件开发效率、软件质量和可靠性的重要手段。基于抽象语法树(abstract syntax tree,AST)的单语言克隆检测已经取得了较为显著的效果,但跨语言代码的AST节点存在同义词、近义词且手工标注数据集成本高等问题,限制了... 代码克隆检测是提高软件开发效率、软件质量和可靠性的重要手段。基于抽象语法树(abstract syntax tree,AST)的单语言克隆检测已经取得了较为显著的效果,但跨语言代码的AST节点存在同义词、近义词且手工标注数据集成本高等问题,限制了现有克隆检测方法的有效性和实用性。针对上述问题,提出一种基于对比学习的树卷积神经网络(contrastive tree convolutional neuraln etwork,CTCNN)的跨语言代码克隆检测方法。该方法首先将不同编程语言的代码解析为AST,并对AST的节点类型和节点值作同义词转换处理,以降低不同编程语言AST之间的差异;同时,采用对比学习扩充负样本并对模型进行训练,使得在小样本数据集下能够最小化克隆对之间的距离,最大化非克隆对之间的距离。最后在公开数据集上进行了评测,精确度达到95.26%、召回率为99.98%、F_(1)为97.56%。结果表明,相较于现有的最好的CLCDSA和C4方法,该模型的检测精度分别提高了432%和3.73%,其F_(1)值分别提升了29.84%和6.29%,证明了所提模型是一种有效的跨语言代码克隆检测方法。 展开更多
关键词 跨语言 代码克隆 对比学习 抽象语法树
在线阅读 下载PDF
基于CB-Attention的JavaScript恶意混淆代码检测方法
17
作者 徐鑫 张志宁 +2 位作者 吕云山 李立 郑玉杰 《计算机工程与设计》 北大核心 2024年第8期2298-2305,共8页
当今JavaScript代码混淆方法日益多样,现有检测方法在对混淆代检测时会出现漏报和误报的情况,为解决该问题,提出一种基于CB-Attention的JavaScript恶意代码检测方法。由SDPCNN模型和BiLSTM+Attention模型构成,SDPCNN对短距离间的语义特... 当今JavaScript代码混淆方法日益多样,现有检测方法在对混淆代检测时会出现漏报和误报的情况,为解决该问题,提出一种基于CB-Attention的JavaScript恶意代码检测方法。由SDPCNN模型和BiLSTM+Attention模型构成,SDPCNN对短距离间的语义特征信息进行提取,BiLSTM+Attention获取JavaScript代码中长距离间的语义信息特征。为验证所提方法的有效性,将该方法与其它方法进行对比,对比结果表明,该方法具有较好的检测效果,F1-Score可达98.78%。 展开更多
关键词 JavaScript恶意代码 混淆代码 检测模型 增强深度金字塔卷积神经网络 注意力网络 双向长短时记忆网络 长距离特征信息 抽象语法树
在线阅读 下载PDF
SCG-Detector:基于图注意力网络的智能合约漏洞检测方法
18
作者 顾锡国 王志伟 +2 位作者 陈翔 何启帆 崔展齐 《电子学报》 CSCD 北大核心 2024年第12期4101-4112,共12页
随着智能合约被广泛使用,其处理的业务逻辑更加复杂,代码复杂度越来越高,引发了大量安全漏洞.为避免潜在安全漏洞造成的危害,研究人员提出了一系列智能合约漏洞检测方法.但现有方法对合约特征表征不完整,未将合约的语义及结构特征进行... 随着智能合约被广泛使用,其处理的业务逻辑更加复杂,代码复杂度越来越高,引发了大量安全漏洞.为避免潜在安全漏洞造成的危害,研究人员提出了一系列智能合约漏洞检测方法.但现有方法对合约特征表征不完整,未将合约的语义及结构特征进行统一表征,难以准确、全面地检测和识别智能合约中的潜在漏洞和安全风险.为此,本文提出了基于图注意力网络的智能合约漏洞检测方法SCG-Detector(Smart Contract Graph Detector).首先,通过解析合约源代码构建抽象语法树(Abstract Syntax Tree,AST)以表征合约语法结构信息,并在AST上添加表示语义信息的数据依赖关系和控制依赖关系,以构建合约图(Smart Contract Graph,SCG)同时表征合约的语法结构及语义信息;然后,将SCG输入到图注意网络模型中进行训练,利用注意力机制学习合约中漏洞的特征;最后,利用训练好的图注意力网络模型检测合约中是否存在漏洞及所存在漏洞的类型.SCG-Detector在12616个智能合约上进行的实验结果表明,相比于sFuzz、Conkas、ConFuzzius、Mythril、Osiris、Slither、Oyente、MANDO-GURU等8种广泛使用的方法,SCG-Detector的Precision最高提升了26.46%,Recall最高提升了69.64%,F1最高提升了59.57%. 展开更多
关键词 智能合约 图注意力网络 合约图 抽象语法树 数据依赖关系 控制依赖关系
在线阅读 下载PDF
消除GCC抽象语法树文本中冗余信息的算法研究 被引量:8
19
作者 李鑫 王甜甜 +1 位作者 苏小红 马培军 《计算机科学》 CSCD 北大核心 2008年第10期170-172,共3页
由GCC编译器对C语言源程序进行语法分析产生的抽象语法树文本存在大量的冗余信息,如果直接对其进行解析,则会产生解析效率低、产生的抽象语法树会占用大量的存储空间的问题。针对此问题,在深入研究GCC抽象语法树文本结构和解析过程的基... 由GCC编译器对C语言源程序进行语法分析产生的抽象语法树文本存在大量的冗余信息,如果直接对其进行解析,则会产生解析效率低、产生的抽象语法树会占用大量的存储空间的问题。针对此问题,在深入研究GCC抽象语法树文本结构和解析过程的基础上,提出了一种高效消除冗余的算法,通过实验证明了算法的正确性和适用性,并提出了GCC抽象语法树解析的数学定义。 展开更多
关键词 抽象语法树(ast) 抽象语法树文本 抽象语法树的解析 规范化的抽象语法树文本 冗余
在线阅读 下载PDF
一种改进的基于抽象语法树的软件源代码比对算法 被引量:9
20
作者 刘楠 韩丽芳 +1 位作者 夏坤峰 曲通 《信息网络安全》 2014年第1期38-42,共5页
在软件同源性检测方法中,基于抽象语法树的比对方法能够有效地检测出基于代码全文拷贝、修改变量名、调整代码顺序等的抄袭手段,被广泛用于抄袭检测工具中。但基于抽象语法树的比对方法对于修改变量类型和添加无意义变量的抄袭手段束手... 在软件同源性检测方法中,基于抽象语法树的比对方法能够有效地检测出基于代码全文拷贝、修改变量名、调整代码顺序等的抄袭手段,被广泛用于抄袭检测工具中。但基于抽象语法树的比对方法对于修改变量类型和添加无意义变量的抄袭手段束手无策。针对这种情况,提出了一种基于抽象语法树的改进思想,该思想通过剪去语法树中影响判断的叶子节点的手段来还原检测原文抄袭,能够达到有效检测修改变量类型和添加无意义变量等抄袭的目的。 展开更多
关键词 抽象语法树 ast 改进算法
在线阅读 下载PDF
上一页 1 2 6 下一页 到第
使用帮助 返回顶部