阐述了最长公共子序列算法在程序代码结构相似度度量中的应用,列举了两种计算最优值和一种获取最长公共标识符子序列的算法。根据最优值得到结构相似度值,进而可以查找出结构相似程序对。最后探讨了程序代码相似度的实际应用。
2022-05-31 14:55:15 276KB 自然科学 论文
1
Simian是一款很好的基于字符串对比算法的代码克隆检测工具,它可以检测十几种语言,包括C,C++,JAVA,Python等等,并附带简单的测试代码。
2022-03-11 17:43:59 4.99MB 代码克隆 代码相似度 软件剽窃
1
系统源码java 代码相似性分析器 Java源代码相似性检测系统。
2022-02-13 15:59:16 672B 系统开源
1
本人的数据结构实习作业“基于Hash表的代码相似度度量”,代码简洁明了,可读性强,并附带较多的注释,方便他人查看。一般通过查看注释便能了解程序的结构与功能,方便进行修改。以下是实习作业的具体要求: 对于两个C++程序,设计并实现两种不同的基于Hash表的检测算法(开地址法和链地址法),计算两个程序的相似度,并分析比较两种算法的效率。 分别读取两个C++程序文件(p1.cpp, p2.cpp),自行设计哈希函数,分别利用开放地址法和链地址法的冲突解决方案,构建C++语言关键字的Hash表。在扫描源程序的过程中,每遇到关键字就查找相应Hash表,并累加相应关键字出现的频度。 根据统计的两个程序中关键字不同频度,可以得到两个向量X1,X2。通过计算向量X1和X2的相对距离来判断两个源程序的相似性,相对距离s的计算方法是( T表示向量的转置) |X1—X2| ((X1—X2)(X1—X2)T)1/2 s= ———————— = ——————————————— |X1|1/2•|X2|1/2 (X1•X1T)1/2(X2•X2T)1/2 利用开放地址法和链地址法两种不同的冲突解决方案构建,分别输出s和两种方法计算s所用的时间。 读取C++程序时,过滤注释,不考虑注释中的内容。(两种注释//和/*…*/) 采用二叉排序树来统计其中的关键字及其频度,按照上述公式计算s,同时给出计算s所用的时间。
2021-12-06 23:44:41 19KB Hash 开地址 链地址 相似度
1
代码相似度比对工具. 相信大家都遇到过需要查重的作业或者是实验, 这款小工具可以非常方便的帮助大家比对两个文件的相似度, 并且在相似度过高时醒目提示, 为您的学业起到绵薄之力! 欢迎大家下载使用!
2021-09-13 18:09:42 24KB 相似度 代码 工具 实用工具
1
Python程序代码相似度检测.pdf
2021-06-29 15:03:29 425KB Python 程序 数据处理 专业指导
sim代码相似度算法大致实现,核心是用LCS最长公共子序列和DP动态规划。
2021-05-20 14:26:47 7KB C++ 代码查重 sim算法
1
代码相似度检测系统报告 代码相似度检测系统报告
2021-05-06 19:38:20 102KB 代码相似度检测系统报告
1
一个代码相似度分析工具,结果准确度还行,分享给有需要的人。
2020-01-12 03:10:40 6KB 代码分析 相似度
1
提供的代码相似度检测测试数据,以Java代码为主,以供参考
2019-12-21 21:43:47 1.48MB 代码相似度 java代码
1