本文提出了一种基于树和基于令牌的方法相结合的高速,高精度代码克隆检测方法。 重复的程序代码(称为代码克隆)的存在是降低软件质量和可维护性的主要因素之一。 如果一个代码片段包含错误(错误),并且将它们复制并修改到其他位置,则必须更正所有错误。 但是在大型复杂软件中查找所有代码克隆并不容易。 对于代码克隆检测已经做了很多研究工作。 代码克隆检测主要有两种方法。 一种是基于令牌的方法,另一种是基于树的方法。 基于令牌的方法速度快,所需资源更少。 但是,它无法检测所有类型的代码克隆。 基于树的方法可以检测所有类型的代码克隆,但速度慢且需要大量计算资源。 本文提出了这两种方法的组合,以提高检测代码克隆的效率和准确性。 首先,将通过基于令牌的快速而轻量级的方法来提取一些代码克隆的候选对象。 然后,将使用可找到各种代码克隆的基于树的方法来更精确地检查选定的候选对象。 开发了原型系统。 该系统接受源代码并在第一步中对其进行标记化。 然后将基于令牌的方法应用于此令牌序列以查找代码克隆的候选对象。 在提取了几个候选者之后,选定的源代码将转换为抽象语法树(AST),以应用基于树的方法。 一些示例源代码用于评
1
QQ空间代码克隆工具ASP极速版 可以快速查询任意QQ空间里面的模块 输入QQ号即可查询 程序使用ASP代码无数据库,应重多网友的要求特发出此代码,适合新手学习 程序为简单版本,一般无权限限制空间可复制。复制的代码必须为非免费物品,方可保存。程序还有很多地方需要改善。
2022-04-26 20:49:58 5KB asp源码
1
Simian是一款很好的基于字符串对比算法的代码克隆检测工具,它可以检测十几种语言,包括C,C++,JAVA,Python等等,并附带简单的测试代码。
2022-03-11 17:43:59 4.99MB 代码克隆 代码相似度 软件剽窃
1
行业分类-设备装置-云环境下基于Java字节码的多粒度代码克隆检测方法.zip
教程 SourcererCC是基于令牌的代码克隆检测器,用于超大型代码库和Internet规模的项目存储库。 SourcererCC可以在许多粒度级别上工作,例如以任何语言检测文件,方法,语句或块之间的克隆。 本教程适用于Java上的文件级克隆检测。 其他资源: 有关SourcererCC的更多信息,请参见论文。 SourcererCC支持DéjàVu,这是在GitHub上进行的大规模克隆研究。 它有一个,并在发布。 DéjàVu是一个支持网络工具,可用于快速,简单地进行克隆分析,可在找到。 在经历之前: 我们以虚拟机(VM)的形式创建了一个工件,其中包含一组预先编程的指令,这些指令将用户从原始源代码带到具有克隆映射的数据库,包括所有中间步骤和中间数据的说明类型。 可以从的“源材料”部分下载,也可以从(仅更新后者)。 该VM是使用SourcererCC进行自己的克隆分析的最简单方法
2021-08-29 19:35:50 94.53MB 系统开源
1
行业分类-物理装置-一种高效的多版本跨项目软件代码克隆检测方法.zip