资源简介
简单的代码相似度检测,使用Java编写。
算法步骤:
S1:剔除程序中所有注释、空行、空格
S2:剔除程序中所有变量、函数名
S3:剩下的部分(实际上主要是有 C++关键词构成的字符串)作为代码特征串
S4:两个特征串之间,使用字符串适量距离(Levenshtein Distance)计算相似度。
代码片段和文件信息
package compare;
public abstract class Compare {
public abstract String getPreProcessedCode(String filePath);
public abstract double getSimilarity(String code1String code2);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2011-11-19 20:00 Compare\.classpath
文件 383 2011-11-19 20:00 Compare\.project
文件 88 2012-01-13 00:11 Compare\.settings\org.eclipse.core.resources.prefs
文件 629 2011-11-19 20:00 Compare\.settings\org.eclipse.jdt.core.prefs
文件 399 2012-05-29 23:37 Compare\bin\compare\Compare.class
文件 6190 2012-05-29 23:37 Compare\bin\compare\cplusplus\CPlusPlusCompare.class
文件 1640 2012-05-29 23:37 Compare\bin\compare\cplusplus\DelComments.class
文件 1797 2012-05-29 23:37 Compare\bin\compare\cplusplus\LD.class
文件 186 2011-11-19 20:06 Compare\src\compare\Compare.java
文件 5103 2012-01-13 00:12 Compare\src\compare\cplusplus\CPlusPlusCompare.java
文件 3791 2011-11-19 23:53 Compare\src\compare\cplusplus\DelComments.java
文件 2509 2011-11-20 01:16 Compare\src\compare\cplusplus\LD.java
目录 0 2012-10-20 20:03 Compare\bin\compare\cplusplus
目录 0 2012-10-20 20:03 Compare\src\compare\cplusplus
目录 0 2012-10-20 20:03 Compare\bin\compare
目录 0 2012-10-20 20:03 Compare\src\compare
目录 0 2012-10-20 20:03 Compare\.settings
目录 0 2012-10-20 20:03 Compare\bin
目录 0 2012-10-20 20:03 Compare\src
目录 0 2012-10-20 20:03 Compare
----------- --------- ---------- ----- ----
23016 20
评论
共有 条评论