All Collections
Resource Center
How does Codequiry Work?
How does Codequiry Work?

How a Code Similarity Checker Works?

Natalie S. avatar
Written by Natalie S.
Updated over a week ago


In the very first stage, the source code submitted is analyzed and transformed into a series of tokens. For instance, one token could represent the use of a certain variable. Another person could have used a different name referring to that variable, but all that a Code Similarity Checker program knows is that there exists a variable in the structure. Similarly, the tokenization process may check the way in which loops are constructed, and the different keywords which are associated may be mapped to similar tokens. Areas like indentation, line spacing, and comments may not be considered.

At the second stage, the tokenized versions of all the source code submissions are then compared, so as to identify the pairs of documents that contain substantial overlaps Codequiry Code Similarity Checker looks for a cluster of similar submissions, in which groups of people have submitted similar codes.

Modern source Code Similarity Checker engines have become more sophisticated. For instance, they may compare codes against different students who have previously taken a programming class, look for answers that are similar online, check for similar assignments from other institutions, or even check if the coding style followed is the same as the one taught at a particular institution.

The most important aspect of Codequiry's checker is that the results you obtain are extremely meaningful and detailed, allowing you to investigate potential cases of plagiarism with provided evidence. The evidence is clearly provided in a way that reduces investigation times for educators. When a submission is flagged by our code plagiarism checker most likely there is something going on with that submission. Machines are not foolproof, so everything that Codequiry Code Similarity Checker suggests may not represent plagiarism. But, it takes little effort for an experienced programmer to observe the reports and come up with their own judgments.

Did this answer your question?