Plagiarism Detection
CodeGrade has integrated state of the art plagiarism software to find possible plagiarism cases in CodeGrade assignments. This works for all common programming languages.
CodeGrade's code plagiarism detection feature can be found on the Assignment Management Page. Here, new plagiarism runs can be done and previous runs can be examined for plagiarism, to maintain academic integrity and prevent fraud.
It is good practice to always manually review found plagiarism cases!

Running the Plagiarism Checker

CodeGrade uses their own and improved plagiarism tool based on the JPlag code plagiarism detection software. In short, CodeGrade parses code before checking for plagiarism, meaning that common tricks to get around plagiarism checks (e.g. changing variable/ function names, altering documentation or changing the order of lines) do not trick our system.
Multiple settings can be set when checking for plagiarism:
  • The programming language has to be selected from a list of supported languages.
If your required language is not present in the list, it is often no problem to select a language with a similar syntax to still get good results. Please contact our support if you require additional languages to be added.
  • Suffixes, separated by commas, of the files to include can be given. Set to .* to include files with all suffixes and leave empty to automatically select suffixes based on the chosen programming
    language.
By default, the correct suffixes for the selected programming language will be used in the plagiarism run, meaning this field should most times be left empty.
  • The minimal average similarity of a case to include in the results can be set. This is a percentage of the average number of lines of code that are found similar: 100 means exactly the same code and 50 means half of the lines of code are the same on average. This is default set to 50.
  • Old submissions or an old CodeGrade assignment can be selected to include in the plagiarism check. This can for instance be the same assignment from a previous iteration of your or a similar course. Submissions from previous assignments are only used to check with current submissions and cases between two previous submissions are not included in the results. Additionally, instead of selecting an old CodeGrade assignment to check against, an archive with old submissions to check against can be uploaded. This should be an archive whose top level entries are treated as a separate submission. The top level entry can either be a directory or archive whose contents count as a submission, or a single regular file which counts as the entire submission.
  • Finally, an archive with base code can be uploaded. Code in this archive will be excluded in the plagiarism check to reduce the amount of false positives.
It is often a good practice to upload template code or provided code snippets as base code to be excluded.

Reviewing Plagiarism

After the plagiarism checker is done running, its results can be found under the Previous Runs tab. The run can be reviewed by clicking on the entry itself to find an overview page with all the potential plagiarism cases.
This overview page displays potential plagiarism cases between students, with the maximum score and the average score. As two students are compared and can both have different lengths of code, both can have different similarity percentages, the maximum score is the similarity percentage of the student with the highest score and the average is the average between the two students. The cases can be filtered on student name by using the filter bar on top.
More details can be found by clicking on the individual cases. The individual plagiarism comparison page displays the specific correspondences found between the submissions of the students side by side. These individual correspondences are coloured differently, clicking on a correspondence will display the correspondence in the code. The different (random) colors only show the distinction between different plagiarism correspondences, they do not have any other meaning or ordering. This page can be used to review the individual plagiarism cases.
While on an individual plagiarism case: use the plagiarism button in the sidebar to quickly toggle between plagiarism cases when reviewing individual cases.

Exporting Plagiarism Cases

A report for an individual potential plagiarism case can be exported from the individual plagiarism comparison page. Either a LaTeX .tex or a Word .docx file that includes the different plagiarism cases of the students can be exported.
Select the plagiarism correspondences to be included in the report and press the Export button to generate the export
Optionally, select the Each listing on a separate page option under Options to have each listing (i.e. printed code segment) on a new page.
Make sure pop-ups from CodeGrade are allowed in your browser if downloading fails.
Last modified 1yr ago