当前位置:主页 > 科技论文 > 搜索引擎论文 >

基于程序向量树的代码克隆检测

发布时间:2021-04-26 11:19
  代码克隆能够加速软件开发但是也会导致缺陷重复发生和软件质量问题。部分类型的代码克隆在字面上相似度低,导致识别困难。针对这一问题,提出一种基于程序向量树的代码克隆检测方法。首先,基于统计语言模型抽取词法单元的特征表示,分析不同字面单词之间的语义相似性;接着,通过语法分析提取程序的抽象语法树(AST),为叶子节点赋予对应字面单词的特征表示,将抽象语法树转化为程序向量树;最后,提出一种加权编码规则,在考虑区分不同树节点重要程度的基础上,将程序向量树编码为定长向量,而具有相似向量表示的代码片段被判定为代码克隆。实验结果表明,在真实代码克隆的大规模标准数据集BigCloneBench上,针对在字面上相似度较低的Moderately Type-3和Type-4类型克隆进行检测时,该方法均优于当前的主流方法,包括NiCad、Deckard、SourcererCC和Oreo等,证实了该方法的有效性。 

【文章来源】:计算机科学与探索. 2020,14(10)北大核心CSCD

【文章页数】:14 页

【文章目录】:
1 引言
2 相关工作
3 基于程序向量树的代码克隆检测方法
    3.1 构造程序向量树
    3.2 向量编码与近邻向量搜索
        3.2.1 将抽象语法树转化为完满二叉树
        3.2.2 基于程序向量树将程序编码为定长向量
        3.2.3 近邻向量搜索
4 实验与结果分析
    4.1 实验数据集与评测指标
    4.2 实验步骤
    4.3 实验结果
    4.4 讨论
5 总结与展望


【参考文献】:
期刊论文
[1]代码克隆检测研究进展[J]. 陈秋远,李善平,鄢萌,夏鑫.  软件学报. 2019(04)
[2]大规模代码克隆的检测方法[J]. 郭颖,陈峰宏,周明辉.  计算机科学与探索. 2014(04)



本文编号:3161324

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/3161324.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户dc5e9***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com