期刊文献+
共找到8篇文章
< 1 >
每页显示 20 50 100
基于依赖增强的分层抽象语法树的代码克隆检测 被引量:2
1
作者 万泽轩 谢春丽 +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
基于词汇的源代码克隆检测技术综述
2
作者 刘春玲 戚旭衍 +3 位作者 唐永鹤 孙雪凯 李晴浩 张雨 《计算机科学》 CSCD 北大核心 2024年第6期12-22,共11页
代码克隆指在软件开发过程中对源代码复用、修改、重构产生的文本相似或结构相似的代码。代码克隆对提升软件开发效率、节约开发成本有积极作用,但也会引起Bug传播,并对软件的稳定性、可维护性产生负面影响。代码克隆检测在剽窃检测、... 代码克隆指在软件开发过程中对源代码复用、修改、重构产生的文本相似或结构相似的代码。代码克隆对提升软件开发效率、节约开发成本有积极作用,但也会引起Bug传播,并对软件的稳定性、可维护性产生负面影响。代码克隆检测在剽窃检测、漏洞检测、版权侵权等领域具有重要的研究意义和应用价值。基于词汇的克隆检测技术能快速检测1-3型克隆,能扩展到其他编程语言,已被广泛应用于大规模克隆检测任务中。文中对近5年基于词汇的克隆检测技术的研究现状进行了梳理,根据相似性算法中的基本计算粒度将其分为4类,并对10余个技术特征进行了分析和总结,讨论其局限性及面临的挑战,最后结合新技术的发展提出了基于词汇的克隆检测技术未来可能的研究方向。 展开更多
关键词 软件安全 代码克隆检测 代码表征 深度学习
在线阅读 下载PDF
一种基于代码克隆检测技术的WSNs重编程方法 被引量:4
3
作者 汪治理 章勇 刘红 《传感技术学报》 CAS CSCD 北大核心 2013年第9期1288-1292,共5页
提出了基于代码克隆检测技术的无线传感器网络WSNs(Wireless Sensor Networks)重编程方法。通过代码克隆检测方法来解决重编程过程中生成差异补丁的4个关键问题:分支、全局变量、相对跳转和间接地址。然后将差异补丁以无线方式传输给传... 提出了基于代码克隆检测技术的无线传感器网络WSNs(Wireless Sensor Networks)重编程方法。通过代码克隆检测方法来解决重编程过程中生成差异补丁的4个关键问题:分支、全局变量、相对跳转和间接地址。然后将差异补丁以无线方式传输给传感器节点,实现WSNs重编程。实验结果表明,该方法是可行的,且能够有效的提高WSNs重编程的效率,延长无线传感器网络的生命周期。 展开更多
关键词 无线传感器网络 重编程 代码克隆检测技术 差异补丁
在线阅读 下载PDF
基于程序向量树的代码克隆检测 被引量:6
4
作者 曾杰 贲可荣 +2 位作者 张献 李晓伟 周全 《计算机科学与探索》 CSCD 北大核心 2020年第10期1656-1669,共14页
代码克隆能够加速软件开发但是也会导致缺陷重复发生和软件质量问题。部分类型的代码克隆在字面上相似度低,导致识别困难。针对这一问题,提出一种基于程序向量树的代码克隆检测方法。首先,基于统计语言模型抽取词法单元的特征表示,分析... 代码克隆能够加速软件开发但是也会导致缺陷重复发生和软件质量问题。部分类型的代码克隆在字面上相似度低,导致识别困难。针对这一问题,提出一种基于程序向量树的代码克隆检测方法。首先,基于统计语言模型抽取词法单元的特征表示,分析不同字面单词之间的语义相似性;接着,通过语法分析提取程序的抽象语法树(AST),为叶子节点赋予对应字面单词的特征表示,将抽象语法树转化为程序向量树;最后,提出一种加权编码规则,在考虑区分不同树节点重要程度的基础上,将程序向量树编码为定长向量,而具有相似向量表示的代码片段被判定为代码克隆。实验结果表明,在真实代码克隆的大规模标准数据集BigCloneBench上,针对在字面上相似度较低的Moderately Type-3和Type-4类型克隆进行检测时,该方法均优于当前的主流方法,包括NiCad、Deckard、SourcererCC和Oreo等,证实了该方法的有效性。 展开更多
关键词 代码克隆 代码克隆检测 抽象语法树(AST) 程序向量树
在线阅读 下载PDF
面向高级别代码克隆检测方法的设计与实现 被引量:3
5
作者 邹悦 吴鸣 徐云 《计算机工程与科学》 CSCD 北大核心 2020年第7期1191-1196,共6页
代码克隆检测是软件工程中的基础研究,在软件分析和维护方面有着广泛应用。目前对于有文本差异的高级别(即学术界定义的级别3和级别4)克隆检测,现有方法存在检出率(回收率)不高的问题。基于程序依赖图PDG的检测方法是高级别克隆检测的... 代码克隆检测是软件工程中的基础研究,在软件分析和维护方面有着广泛应用。目前对于有文本差异的高级别(即学术界定义的级别3和级别4)克隆检测,现有方法存在检出率(回收率)不高的问题。基于程序依赖图PDG的检测方法是高级别克隆检测的一类重要方法,但这类方法依赖子图同构的精确图匹配算法,算法时间复杂度高且回收率较低。为此,提出了一种新的高级别代码克隆检测方法,使用基于Weisfeiler-Lehman图核的非精确图匹配算法进行代码克隆检测。实验结果表明,与已有的代码克隆检测方法相比,该方法可以检出更多的高级别克隆且计算时间较短。 展开更多
关键词 代码克隆检测 程序依赖图 Weisfeiler-Lehman图核
在线阅读 下载PDF
基于Transformer和卷积神经网络的代码克隆检测 被引量:2
6
作者 贲可荣 杨佳辉 +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
基于代码克隆检测的抽取方法重构模式识别 被引量:1
7
作者 张志浩 杨春花 《计算机应用与软件》 北大核心 2019年第9期12-15,20,共5页
抽取方法是一种常用的代码重构手段,被广泛应用到软件开发和维护中。提出一个基于克隆检测的抽取方法重构模式的识别算法。以代码变更块hunk为单位,用代码克隆检测工具simian对候选的hunk进行筛选,用语法分析对该模式进行判定。在4个开... 抽取方法是一种常用的代码重构手段,被广泛应用到软件开发和维护中。提出一个基于克隆检测的抽取方法重构模式的识别算法。以代码变更块hunk为单位,用代码克隆检测工具simian对候选的hunk进行筛选,用语法分析对该模式进行判定。在4个开源项目上进行实验,结果表明该算法具有较高的准确率。 展开更多
关键词 重构模式 重构模式识别 代码克隆检测 代码变更 抽取方法
在线阅读 下载PDF
基于分层特征的代码克隆检测方法 被引量:1
8
作者 张冬梅 陈永乐 杨玉丽 《计算机工程》 CAS CSCD 北大核心 2021年第10期125-131,共7页
针对现有代码克隆检测方法通常存在标记表示单一而抽象语法树构造复杂的问题,提出一种结合分层特征的代码克隆检测方法。使用双层双向长短时记忆网络提取行级和全局代码层次的深层语义信息,挖掘目标代码的语义特征。引入注意力机制调整... 针对现有代码克隆检测方法通常存在标记表示单一而抽象语法树构造复杂的问题,提出一种结合分层特征的代码克隆检测方法。使用双层双向长短时记忆网络提取行级和全局代码层次的深层语义信息,挖掘目标代码的语义特征。引入注意力机制调整重要标记及代码行的影响权重,增强语义形式的代码克隆检测效果,并采用softmax分类器识别克隆代码。实验结果表明,该方法的召回率和精确度分别为91%和97%,相比NICAD、CCIS、CCLearner方法对于复杂语义形式的克隆代码具有更好的检测效果。 展开更多
关键词 标记转换 分层特征 双向长短时记忆网络 注意力机制 代码克隆检测
在线阅读 下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部