吉林大学学报(工学版) ›› 2015, Vol. 45 ›› Issue (4): 1260-1265.doi: 10.13229/j.cnki.jdxbgxb201504034
王克朝1, 2, 王甜甜2, 苏小红2, 马培军2
WANG Ke-chao1, 2, WANG Tian-tian2, SU Xiao-hong2, MA Pei-jun2
摘要: 针对学生程序抄袭导致考核可信度降低而人工检测抄袭工作量巨大的问题,提出了程序雷同检测模型,首先通过词法分析将程序转换成token序列,并将其散列映射为数字序列;然后采用BIDE挖掘算法挖掘频繁闭合序列;在此基础上,识别相似代码片段,并计算程序之间的相似度,进而判定程序是否雷同。实验结果表明,与目前应用广泛的雷同程序检测工具MOSS相比,本文方法提高了雷同检测的准确性,不但可以准确地给出雷同统计信息,还能够较为直观地显示雷同代码片段。
中图分类号:
[1] Shawky D M, Ali A F. An approach for assessing similarity metrics used in metric-based clone detection techniques[C]∥The 3rd IEEE International Conference on Computer Science and Information Technology (ICCSIT), Chengdu,2010: 580-584. [2] Brixtel R, Fontaine M, Lesner B, et al. Language-independent clone detection applied to plagiarism detection[C]∥The 10th IEEE Working Conference on Source Code Analysis and Manipulation (SCAM),Timisoara,2010: 77-86. [3] Dang Y, Ge S, Huang R, et al. Code clone detection experience at Microsoft[C]∥Proceedings of the 5th International Workshop on Software Clones, ACM, 2011: 63-64. [4] Zibran M F, Roy C K. IDE-based real-time focused search for near-miss clones[C]∥Proceedings of the 27th Annual ACM Symposium on Applied Computing, ACM, 2012: 1235-1242. [5] Higo Y, Kamiya T, Kusumoto S, et al. Method and implementation for investigating code clones in a software system[J]. Information and Software Technology, 2007, 49(9): 985-998. [6] 邓爱萍. 程序代码相似度度量算法研究[J]. 计算机工程与设计, 2008, 29(17): 4636-4638. Deng Ai-ping. Study on similarity measurement of program code[J]. Computer Engineering and Design, 2008, 29(17): 4636-4638. [7] 古平, 张锋, 周海涛. 一种程序源代码相似度度量方法[J]. 计算机工程, 2012, 38(6): 37-39. Gu Ping, Zhang Feng, Zhou Hai-tao. Method of program source code similarity measurement[J]. Computer Engineering, 2012, 38(6): 37-39. [8] 张丽萍, 刘东升, 李彦臣, 等. 一种基于 AST 的代码抄袭检测方法[J]. 计算机应用研究, 2011, 28(12): 4616-4620. Zhang Li-ping, Liu Dong-sheng, Li Yan-chen, et al. AST-based code plagiarism detection method[J]. Application Research of Computers, 2011, 28(12): 4616-4620. [9] Schleimer S, Wilkerson D S, Aiken A. Winnowing: local algorithms for document fingerprinting[C]∥Proceedings of the ACM SIGMOD International Conference on Management of Data, ACM, 2003: 76-85. [10] Wang J, Han J. BIDE: efficient mining of frequent closed sequences[C]∥IEEE 20th International Conference on Data Engineering, 2004: 79-90. |
[1] | 桂春, 黄旺星. 基于改进的标签传播算法的网络聚类方法[J]. 吉林大学学报(工学版), 2018, 48(5): 1600-1605. |
[2] | 王旭, 欧阳继红, 陈桂芬. 基于垂直维序列动态时间规整方法的图相似度度量[J]. 吉林大学学报(工学版), 2018, 48(4): 1199-1205. |
[3] | 王旭, 欧阳继红, 陈桂芬. 基于多重序列所有公共子序列的启发式算法度量多图的相似度[J]. 吉林大学学报(工学版), 2018, 48(2): 526-532. |
[4] | 马健, 樊建平, 刘峰, 李红辉. 面向对象软件系统演化模型[J]. 吉林大学学报(工学版), 2018, 48(2): 545-550. |
[5] | 罗养霞, 郭晔. 基于数据依赖特征的软件识别[J]. 吉林大学学报(工学版), 2017, 47(6): 1894-1902. |
[6] | 董立岩, 王越群, 贺嘉楠, 孙铭会, 李永丽. 基于时间衰减的协同过滤推荐算法[J]. 吉林大学学报(工学版), 2017, 47(4): 1268-1272. |
[7] | 应欢, 王东辉, 武成岗, 王喆, 唐博文, 李建军. 适用于商用系统环境的低开销确定性重放技术[J]. 吉林大学学报(工学版), 2017, 47(1): 208-217. |
[8] | 李勇, 黄志球, 王勇, 房丙午. 基于多源数据的跨项目软件缺陷预测[J]. 吉林大学学报(工学版), 2016, 46(6): 2034-2041. |
[9] | 王贵参, 黄岚, 王岩, 宋立明, 欧歌. 引入极值非相邻连接的连接聚类方法[J]. 吉林大学学报(工学版), 2016, 46(5): 1616-1621. |
[10] | 王念滨, 祝官文, 周连科, 王红卫. 支持高效路径查询的数据空间索引方法[J]. 吉林大学学报(工学版), 2016, 46(3): 911-916. |
[11] | 特日跟, 江晟, 李雄飞, 李军. 基于整数数据的文档压缩编码方案[J]. 吉林大学学报(工学版), 2016, 46(1): 228-234. |
[12] | 康辉, 王家琦, 梅芳. 基于Pi演算的并行编程语言[J]. 吉林大学学报(工学版), 2016, 46(1): 235-241. |
[13] | 陈鹏飞, 田地, 杨光. 基于MVC架构的LIBS软件设计与实现[J]. 吉林大学学报(工学版), 2016, 46(1): 242-245. |
[14] | 刘磊, 王燕燕, 申春, 李玉祥, 刘雷. Bellman-Ford算法性能可移植的GPU并行优化[J]. 吉林大学学报(工学版), 2015, 45(5): 1559-1564. |
[15] | 冯晓宁, 王卓, 张旭. 基于L-π演算的WSN路由协议形式化方法[J]. 吉林大学学报(工学版), 2015, 45(5): 1565-1571. |
|