【文件属性】:
文件名称:代码相似度检测
文件大小:12KB
文件格式:RAR
更新时间:2017-01-02 08:11:32
相似度检测
简单的代码相似度检测,使用Java编写。
算法步骤:
S1:剔除程序中所有注释、空行、空格
S2:剔除程序中所有变量、函数名
S3:剩下的部分(实际上主要是有 C++关键词构成的字符串)作为代码特征串
S4:两个特征串之间,使用字符串适量距离(Levenshtein Distance)计算相似度。
【文件预览】:
Compare
----.project(383B)
----src()
--------compare()
----.settings()
--------org.eclipse.jdt.core.prefs(629B)
--------org.eclipse.core.resources.prefs(88B)
----.classpath(301B)
----bin()
--------compare()
网友评论
- File dic= new File("待检测文件的目录");String names[]={"file1.cpp","file2.cpp"};BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("结果保存的路径"+name)));注意:File f2 = new File(f1.getAbsoluteFile()+"\\"+name)要改为File f2 = new File(f1.getAbsoluteFile()+"")。终端运行:1、 sudo javac -d ./ ./*.java 2、java compare.cplusplus.CPlusPlusCompare 特此给小白解释下
- 原来是检测C++代码的相似性的
- 代码挺好的,稍微改一下,就可以用了,但是没有注释,看起来有点费力!!!
- 蛮好用,谢谢分享。但需要修改一下代码 JavaCompare 类里的main方法,改一下这行语句 File f2 = new File(f1.getAbsoluteFile()+"");
- 没有一个使用说明,还要看懂代码才行~~ 应该有个说明的
- 还没有用,感觉还挺靠谱,稍微看了一下源码
- 改了之后可以用的
- 感觉整体还可以,有些地方需要自己修改
- 整体还可以,就是代码有问题,运行后直接就把文件内容删除了
- 修改以后很好用
- 代码总体能够运行,需要针对使用的克隆检测对象进行修改。
- 还可以吧啊,,,,,,,,有些地方需要自己修改
- 貌似输出有问题
- 可能因为字体不相同,出现了部分乱码,可能需要修改