Plagiarism Detection
Currently the most widely used code plagiarism detection software is serviced by Moss
~give/stable/bin/ contains scripts to make the process easier:
moss - sends submissions to moss for processing.
- example:
% moss -l python -m 4 -b template.py -d "*/*.py"
moss_setup - retrieve submissions and put them into directories suitable for moss-ing.
- example:
% ~give/stable/bin/moss_setup 21T2 ass1
- a plague directory will be created under ~/21T2.work/ass1
- remove any files not to be included in moss plagiarism detection
- copy template files to plague/Samples to ignore similarity from these files
moss_run - wrapper script for moss script.
- example:
% ~give/stable/bin/moss_run en1811 21T2 ass1 python "*/*.py"
% ~give/stable/bin/moss_run -d /home/en1811/21T2.work/ass1/plague python "*/*.py"
- last two arguments specify the programming language (python) and which files to process (all .py files for each student).
plague.pl
Paste everything on moss summary page into moss_report_file
- Look at similarities in code on moss pages and select plagiarised pairs:
% plague.pl -s assignment moss_report_file selected_plague_file
- Report assignment mark, submission history
% plague.pl -r assignment selected_plague_file