如何检查源代码作业的抄袭?

mat*_*ath 20 plagiarism-detection

我如何判断两个源代码(独立于他们的语言C,Java,Lisp ......)是否有强烈的迹象表明它们可能是相互抄袭的?

背景:我将举办我的第一次计算机语言研讨会.我们为主要的编程语言准备了小练习,如C/C++,Python,Java,......还有OCaml,Haskell,......为学生们提供了一些实用的介绍(也包括编程范式).我们估计有300名学生,每人有超过50个编程任务.所以一个人不能检查所有的作业.

我想用于自然语言的反剽窃技术(论文,论文,书籍章节等)对源代码不起作用,对吗?此外,由于所需的接口,这些编程任务的解决方案将具有固有的相似性.

我做了一点搜索,发现:MOSS中提到:用JavaScript检查代码剽窃用于C/C++的抄袭检测的​​变量重命名

Mar*_*mes 6

因检测它而获得小奖.鉴于可能有几瓶啤酒,学生们将在网上倒几个小时,寻找其他学生提交的比赛.

对于违法行为的巨额罚款,它是自筹资金并奖励那些从事自己工作的学生 - 他们想要啤酒,并且不会通过自己剽窃工作让自己开放报复!

  • 小心,学生将相互配对,并根据惩罚的严重程度和学生的冷漠/态度"检测"彼此的抄袭 (5认同)