一、提要
当前各模块负责人(点击人名可跳转至CSDN个人主页):
代码与文本查重—王帅
界面设计、数据库设计——牛翔宇
代码检测——吴玮桓
代码与文本查重——李成
本文简单记录2021.5.2——2021.5.9一周内各成员工作内容总结和对下一周工作内容的展望。具体内容请查看个人总结文章:
2021.5.9项目阶段报告-王帅
2021.5.9项目阶段报告-吴玮桓
2021.5.9项目阶段总结-李成
2021.5.9项目阶段总结-牛翔宇
二、本周总结
1.代码与文本查重(王帅)
- 试用了jparser、url2io来筛选爬取的内容,但是使用起来非常不方便。
- 获取了网页源代码,提取其中的代码部分,使用beautifulsoup库,观察常用网站的标签提取;
这样做貌似不足以解决问题,因为不同网页的代码部分不一样。 - 由于网速问题时而出现爬不到内容的现象,还有一些随机性的错误。
- 浏览器资源占用过多,程序会崩溃。
- 运行时间过长,考虑到对于每个实验只用执行一次,可以接受。
2.代码检测(吴玮桓)
- 寻找了动态检测C++项目的一些工具,如valgrind可以检测内存的泄露等,但不太符合项目的需求
- 之前在linux系统使用了gcc编译器,但gcc并不支持windows,所以通过minGw安装gcc和g++编译器,并对其进行试用
3.代码与文本查重(李成)
-
学习了由张丽萍主编的《基于AST的多种语言代码抄袭检测方法研究》。并且尝试实现了其中的相似度比较部分,但是可能还是会有一点偏差,相似度的比较未必有那么的准确。
-
也发现了自己的问题,上周的AST产生没有想象中的好用,所以就换了一种方法。详细见上述连接
4.界面设计、数据库设计(牛翔宇)
- 本周给项目程序的三个功能模块各加入了一个进度条,去掉了“当前工作项”和“当前工作状态”标签,实现了三个功能可以并行运行,真正实现了多线程。
- 对于sonarqube服务器的开始和关闭进行了优化,增加了“开启服务器”和“关闭服务器”的按钮,使得用户可以自由选择是否开启服务器,并增添了“服务器状态”标签。
三、下周计划
1.代码与文本查重(王帅)
- 完善这些部分,做出一个能够简单投入使用的demo;
- 解决硬性的问题,暂时放缓性能,及时与队友对接
2.代码检测(吴玮桓)
- 编写程序批量编译C++项目并输出结果
- 包装之前写过的程序与前端进行对接
3.代码与文本查重(李成)
-
相似度的结果不是很准确,所以计划更加细颗粒度的比较。
-
然后就是看看有没有产生java以及C的AST的方法,然后套用这个算法即可。
4.界面设计、数据库(牛翔宇)
- 寻找更好的检测sonarqube服务器开启状态的方法。
- 与队友协商,在云数据库中建表,将查重检测结果录入到PolarDB的功能集成起来。