How do I tell that two source-codes (independent of their language C,Java,Lisp...) have strong indications that they could be plagiarism of each other?
Background: I going to give my first seminar on computer languages. We have prepared small exercises for major programming languages such as C/C++, Python, Java,... but also OCaml, Haskell,... to give the students some practical introduction (also into programming paradigms). We estimate to have ~300 students with more than 50 programming tasks per person. So a single person cannot check all homeworks.
I guess anti plagiarism techniques used for natural languages (essays, papers, book chapters, etc) will not work for source code, right? Also solutions to those programming tasks will have inherent similarity due to the demanded interface.
I've done a little search and found: MOSS mentioned in: Checking for code plagiarism with JavaScript and Variable renaming for plagiarism detection for C/C++
To detect plagiarized code, the most popular tool is the MOSS system. (If you already know you want to use MOSS this quarter, skip to "Getting Started" below). Using MOSS involves packaging up students' solutions, submitting them for automated examination, and reviewing the results.
Some written assignments include an option to check your work for plagiarism before submitting. If your assignment has this option enabled, you'll see a Check for Plagiarism button under the field for writing or uploading text.
Award a small prize for detecting it. Given the possibility of a couple beers, students will pour over the net for hours, looking for matches from other students submissions.
With large fines for offences, it's self-financing and rewards students who do their own work - they want beer and are not going to leave themselves open to revenge by plagiarising work themselves!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With