期刊文献+
共找到2篇文章
< 1 >
每页显示 20 50 100
基于程序向量树的代码克隆检测 被引量:6
1
作者 曾杰 贲可荣 +2 位作者 张献 李晓伟 周全 《计算机科学与探索》 CSCD 北大核心 2020年第10期1656-1669,共14页
代码克隆能够加速软件开发但是也会导致缺陷重复发生和软件质量问题。部分类型的代码克隆在字面上相似度低,导致识别困难。针对这一问题,提出一种基于程序向量树的代码克隆检测方法。首先,基于统计语言模型抽取词法单元的特征表示,分析... 代码克隆能够加速软件开发但是也会导致缺陷重复发生和软件质量问题。部分类型的代码克隆在字面上相似度低,导致识别困难。针对这一问题,提出一种基于程序向量树的代码克隆检测方法。首先,基于统计语言模型抽取词法单元的特征表示,分析不同字面单词之间的语义相似性;接着,通过语法分析提取程序的抽象语法树(AST),为叶子节点赋予对应字面单词的特征表示,将抽象语法树转化为程序向量树;最后,提出一种加权编码规则,在考虑区分不同树节点重要程度的基础上,将程序向量树编码为定长向量,而具有相似向量表示的代码片段被判定为代码克隆。实验结果表明,在真实代码克隆的大规模标准数据集BigCloneBench上,针对在字面上相似度较低的Moderately Type-3和Type-4类型克隆进行检测时,该方法均优于当前的主流方法,包括NiCad、Deckard、SourcererCC和Oreo等,证实了该方法的有效性。 展开更多
关键词 代码克隆 代码克隆检测 抽象语法(AST) 程序向量树
在线阅读 下载PDF
基于程序向量树和聚类的学生程序算法识别方法 被引量:2
2
作者 魏敏 张丽萍 闫盛 《计算机工程与设计》 北大核心 2022年第10期2790-2798,共9页
为准确识别出使用相同算法的学生程序,提出基于程序向量树和聚类的学生程序算法识别方法。解析程序生成单词序列和抽象语法树,获取程序词法和语法结构信息;利用word2vec模型学习程序单词向量表示,构造程序向量树融合程序特征;采用递归... 为准确识别出使用相同算法的学生程序,提出基于程序向量树和聚类的学生程序算法识别方法。解析程序生成单词序列和抽象语法树,获取程序词法和语法结构信息;利用word2vec模型学习程序单词向量表示,构造程序向量树融合程序特征;采用递归自动编码器模型获取程序向量,执行k-means聚类,将使用相同算法的程序按照特征表示相近程度划分到相同类别,完成算法识别任务。实验结果表明,该方法可以有效获取程序重要特征,具有较好的算法识别准确度。 展开更多
关键词 算法识别 程序向量树 相似性检测 向量 聚类
在线阅读 下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部