資源簡介
簡單的代碼相似度檢測,使用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
評論
共有 條評論