web-dev-qa-db-ja.com

ソースコードの宿題の盗用をチェックするにはどうすればよいですか?

2つのソースコード(C、Java、LISPなどの言語に依存しない)が互いに盗用されている可能性があることをどのように示していますか?

背景:コンピュータ言語に関する最初のセミナーを行います。 C/C++、Python、Javaなどの主要なプログラミング言語用の小さな演習を用意しましたが、OCaml、Haskellなども使用して、学生に実用的な紹介を提供します(プログラミングパラダイムについても)。 1人あたり50を超えるプログラミングタスクを持つ300人までの学生がいると推定しています。したがって、一人ですべての宿題を確認することはできません。

自然言語(エッセイ、論文、本の章など)に使用される盗用防止手法は、ソースコードでは機能しないと思いますよね?また、これらのプログラミングタスクのソリューションには、要求されるインターフェイスのために固有の類似点があります。

私は少し検索を行って見つけました: [〜#〜] moss [〜#〜] で言及されています: JavaScriptによるコードの盗用のチェック および 変数C/C++の盗用検出のための名前変更

20
math

それを検出するための小さな賞を授与します。カップルビールの可能性を考慮して、学生は他の学生の提出物からの一致を探して、何時間もネットに注ぎます。

犯罪に対する罰金が大きいのは、自己資金であり、自分の仕事をした学生に報酬を与えます。彼らはビールを欲しがり、自分で仕事を盗用して復讐することはできません!

6
Martin James