A System for Detecting Software Plagiarism
theory.stanford.edu
A System for Detecting Software Plagiarism
1–5 of 5 posts
Re: A System for Detecting Software Plagiarism
#2My own experience with plagiarism came when teaching a university course for CS majors. For most, the class was their second course in programming. While grading an early programming assignment I noticed a program that reminded me of one of the early ones I had already graded. Comparing the two programs revealed that they were identical, except that the variable names had been changed to protect the guilty.
I wonder if this system would have detected this case of collaboration.
Re: A System for Detecting Software Plagiarism
#3I took a brief peek at the paper cited by the article ( http://theory.stanford.edu/~aiken/publications/papers/sigmod... ) to see how the system worked. It uses hashes of n-grams of the submitted programs to compare similarity. My own experience with plagiarism came when teaching a university course for CS majors. For most, the class was their second course in programming. While grading an early programming assignment…
I have been TA'ing a first year Python Programming course since beginning of this year; what you describe is the most common trick used by students---even though they have been told time and again that this will be detected.
As an example, MOSS picked up 91% similarity---between two students---for one of the module files.
# Student 1
at1 = input("Attempt 1:\n")
at2 = input("Attempt 2:\n")
at3 = input("Attempt 3:\n")
maxi.append(max(eval(at1),eval(at2),eval(at3)))
# Student 2
attempt1 = input("Attempt 1:\n")
attempt2 = input("Attempt 2:\n")
attempt3 = input("Attempt 3:\n")
maximums.append(max(eval(attempt1),eval(attempt2),eval(attempt3)))
I find it interesting that MOSS does a one-on-one comparison for each student.