您现在的位置: 首页> 研究主题> 抽象语法树

抽象语法树

抽象语法树的相关文献在1990年到2022年内共计245篇,主要集中在自动化技术、计算机技术、无线电电子学、电信技术、军事技术 等领域,其中期刊论文179篇、会议论文9篇、专利文献20234篇;相关期刊87种,包括信息网络安全、智能计算机与应用、电脑知识与技术等; 相关会议8种,包括第27次全国计算机安全学术交流会、第二届信息安全漏洞分析与风险评估大会、中国电子学会电子系统工程分会第十五届信息化理论学术研讨会等;抽象语法树的相关文献由603位作者贡献,包括刘伟、胡志刚、苏小红等。

抽象语法树—发文量

期刊论文>

论文:179 占比:0.88%

会议论文>

论文:9 占比:0.04%

专利文献>

论文:20234 占比:99.08%

总计:20422篇

抽象语法树—发文趋势图

抽象语法树

-研究学者

  • 刘伟
  • 胡志刚
  • 苏小红
  • 刘磊
  • 赵逢禹
  • 刘宏韬
  • 杨春花
  • 王甜甜
  • 胡建鹏
  • 马培军
  • 期刊论文
  • 会议论文
  • 专利文献

搜索

排序:

年份

期刊

    • 刘一民; 颜云松; 许高阳; 董希建
    • 摘要: 为提高和保障电网安全稳定控制系统控制策略(简称稳控策略)的实现效率和可靠性,研制了一种基于UML活动图的稳控策略的自动编程实现方法和基础平台。首先,抽象稳控策略的最小元素和动态行为元素,提出稳控策略动态行为描述方法,建立基于UML活动图的稳控策略模型和抽象语法树。然后,规范稳控策略模型的存储标准及格式,制定模型到代码的映射规则,基于抽象语法树使用深度优先搜索算法将模型自动转化为嵌入式系统可执行代码。最后,构建稳控策略模型至主体代码自动生成和辅助代码自动补全的软件技术框架并研发实现。结合4个大型稳控系统的新建和改造的编程案例及其成效,验证了所提代码自动生成方法和平台工具的可行性、高效性和可靠性。
    • 张杨; 东春浩; 刘辉; 葛楚妍
    • 摘要: 目前已有的代码坏味检测方法仅依赖于代码结构信息和启发式规则,对嵌入在不同层次代码中的语义信息关注不够,而且现有的代码坏味检测方法准确率还有进一步提升的空间.针对该问题,提出一种基于预训练模型和多层次信息的代码坏味检测方法DeepSmell,首先采用静态分析工具提取程序中的代码坏味实例和多层次代码度量信息,并对代码坏味实例进行标记;然后通过抽象语法树解析并获取源代码中与代码坏味相关的层次信息,将其中的文本信息与度量信息相结合生成数据样本;最后使用BERT预训练模型将文本信息转化为词向量,应用GRU-LSTM模型获取层次信息之间潜在的语义关系,并结合CNN模型与注意力机制检测代码坏味.在实验中,选取JUnit、Xalan和SPECjbb2005等24个大型实际应用程序构建训练集和测试集,并对特征依恋、长方法、数据类和上帝类等4种代码坏味进行检测.实验结果表明,DeepSmell与目前已有的检测方法相比在平均查全率和F1值上分别提高了9.3%和10.44%,同时保持了较高的查准率,DeepSmell可以有效地实现代码坏味检测.
    • 杨宏宇; 应乐意; 张良
    • 摘要: 目前的源代码漏洞检测方法大多仅依靠单一特征进行检测,表征的维度单一导致方法效率低.针对上述问题提出一种基于结构化文本及代码度量的漏洞检测方法,在函数级粒度进行漏洞检测.利用源代码结构化文本信息及代码度量结果作为特征,通过构造基于自注意力机制的神经网络捕获结构化文本信息中的长期依赖关系,以拟合结构化文本和漏洞存在之间的联系并转化为漏洞存在的概率.采用深度神经网络对代码度量的结果进行特征学习以拟合代码度量值与漏洞存在的关系,并将其拟合的结果转化为漏洞存在的概率.采用支持向量机对由上述两种表征方式获得的漏洞存在概率做进一步的决策分类并获得漏洞检测的最终结果.为验证该方法的漏洞检测性能,针对存在不同类型漏洞的11种源代码样本进行漏洞检测实验,该方法对每种漏洞的平均检测准确率为97.96%,与现有基于单一表征的漏洞检测方法相比,该方法的检测准确率提高了4.89%~12.21%,同时,该方法的漏报率和误报率均保持在10%以内.
    • 汤怡佳; 王丽侠; 韩建民; 于娟; 叶荣华; 姚鑫; 曹小倩
    • 摘要: 基于抽象语法树的软件缺陷预测方法是当前最先进的方法之一,但现有的工作在预测过程中很少考虑抽象语法树节点的上下文信息,因此预测准确率仍有提升的空间.另外,带标签样本数据不足是软件缺陷预测领域长期存在的问题.为解决上述问题,提出一种结合BERT和PFMM的软件缺陷预测模型,简称BERT-PFMM.该模型由3个子模块构成:预处理模块,负责用源程序构造抽象语法树,并采用深度优先遍历方式生成该抽象语法树的节点向量作为BERT模型的输入;特征提取模块,用BERT模型提取上下文相关特征;特征加强及分类模块,采用PFMM将特征映射到更容易分类的空间,使模型的输出与标签的对应关系更强,进而基于加强的特征进行软件缺陷预测.实验表明:所提出的BERT-PFMM比现有的软件缺陷预测方法具有更好的性能.
    • 徐浩然; 王勇军; 黄志坚; 解培岱; 范书珲
    • 摘要: 编译器模糊测试,是测试编译器功能性与安全性的常用技术之一.模糊测试器通过产生语法正确的测试用例,对编译器的深层代码展开测试.近来,基于循环神经网络的深度学习模型被引入编译器模糊测试用例生成过程.针对现有方法生成测试用例的语法正确率不足、生成效率低的问题,提出一种基于前馈神经网络的编译器模糊测试用例生成方法,并设计实现了原型工具FAIR.与现有的基于token序列学习的方法不同,FAIR从抽象语法树中提取代码片段,利用基于自注意力的前馈神经网络捕获代码片段之间的语法关联,通过学习程序设计语言的生成式模型,自动生成多样化的测试用例.实验结果表明,FAIR生成测试用例的解析通过率以及生成效率均优于同类型先进方法.该方法显著提升了检测编译器软件缺陷的能力,已成功检测出GCC和LLVM的20处软件缺陷.此外,该方法具有良好的可移植性,简单移植后的FAIR-JS已在JavaScript引擎中检测到两处软件缺陷.
    • 邢颖; 钱晓萌; 管宇; 章世豪; 赵梦赐; 林婉婷
    • 摘要: 跨项目缺陷预测(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组源-目标项目对上进行了对比实验,实验结果表明了该方法的有效性.
    • 陈传涛; 潘丽敏; 龚俊; 马勇; 罗森林
    • 摘要: 针对基于抽象语法树的源代码漏洞检测方法难以从大规模语法树中充分提取语法和结构特征,导致漏洞表征能力不足、检测准确率低的问题,提出了一种基于抽象语法树压缩编码(abstract syntax tree compressed coding,ASTCC)的源代码漏洞检测方法.该方法首先将程序抽象语法树以代码语句为单元分割成1组子树;然后通过递归神经网络对子树进行编码以提取代码语句内语法信息;再将原始语法树中的子树替换为其编码节点,从而在保留结构特征的同时减小原始语法树的深度并减少了叶子节点数量;最后,通过带注意力机制的树卷积神经网络实现源代码漏洞检测.在NVD和SARD公开数据集上的实验结果表明,ASTCC方法能够降低抽象语法树的规模,增强模型对源代码漏洞的表征能力,有效提升漏洞检测的准确率.
    • 王国隆; 金大海; 宫云战
    • 摘要: 随着C++语言标准的不断演进,词法语法解析工具如JavaCC等对于很多扩充的新特性以及复杂的语法结构不能做到完全支持,这可能会导致抽象语法树生成错误且不完整;针对这一问题,提出一个针对抽象语法树生成错误的处理框架;首先,通过对JavaCC的扩充,实现一套可以解析C++语言的词法语法分析器,生成抽象语法树并记录报错行;其次,根据报错行寻找所在函数区间即不支持或不匹配的语法片段;最后,通过注释函数区间的方式来跳过不支持或不匹配的语法片段进行错误处理并迭代生成抽象语法树;实验结果表明,对抽象语法树生成进行错误处理后可以更全面的分析代码,抽象语法树完成率上升37.8%,分析行数提高3.9倍。
    • 李国繁; 张峰; 刘聪
    • 摘要: 近年来,随着不同编程语言代码自动转换工具的出现,跨语言的代码抄袭检测问题受到了越来越多的关注.现有跨语言代码抄袭检测主要包括传统的基于中间特征的检测方法和近年来出现的基于机器学习的检测方法,后者在检测模型训练完成之后具有更好的检测速度,是当前跨语言代码抄袭检测的研究热点.然而,现有的基于机器学习的跨语言抄袭检测方法大多将代码作为文本来处理,未考虑代码的结构特征.结合代码基于抽象语法树的结构特征,本文提出了一个基于伪孪生神经网络框架的跨语言抄袭检测工具CLPDetector.该工具将训练数据中的源代码对转换成对应的抽象语法树,基于抽象语法树生成代码的向量表示,然后将结合BiLSTM、CNN和Attention的深度神经网络嵌入到伪孪生网络架构中训练抄袭检测模型,从而实现了跨语言代码抄袭的检测.为了提高检测精度,首先,在训练检测模型前,利用基于抽象语法树的skip-gram算法对词向量进行了预训练,并基于程序依赖图删除了训练数据集代码中的冗余代码.其次,在代码抄袭检测阶段,提出了一个基于属性计数的过滤器,用以排除不可能抄袭的代码对,提高检测效率.实验中基于一个开源的数据集,以Java代码和Python代码为例对CLPDetector的检测效果进行了验证.结果表明,在精确率和F1值方面,CLPDetector比基于属性计数的工具CLCDSA分别高7%和3%,比单纯使用BiLSTM的检测工具ASTLeaner分别高10%和8%.
    • 孟尧; 祝跃飞
    • 摘要: 源代码摘要是一段用自然语言描述的有关源代码的简介.源程序和自然语言之间存在着巨大的差异,计算机程序生成的摘要很难满足实际的需要.本文提出了一个基于深度学习的代码摘要生成模型At-ComGen,该模型基于混合的注意力机制设计,使用编码器-解码器结构的神经网络搭建.为了保持源代码的文本和结构信息,At-ComGen模型在源代码编码过程中同时使用独立的词汇编码器和语法树编码器.At-ComGen的解码器中还创新性地引入了BERT预训练模型技术提高生成摘要的描述能力.实验结果表明,At-ComGen模型在BLUE、METEOR等评价指标上均优于目前流行的代码摘要生成模型.
  • 查看更多

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号