{'fraction_non_alphanumeric': 0.023758099352051837, 'fraction_numerical': 0.0021598272138228943, 'mean_word_length': 4.904458598726115, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Plagiarism Detection in C++ Programs

For certain courses in the bachelor program, students have to write C++ programs to solve problems. Unfortunately it sometimes happens that students copy code from their fellow classmates, which is not allowed. Currently Moss2 is used to detect this plagiarism, but it does not find all plagiarized files. Therefore we experiment with a few new methods to improve upon Moss2. These methods are based upon transforming a file into a numerical array, which can be compared to other array’s of other files. Based upon these array’s, some of the new methods can express a distance between two files that could indicate plagiarism. The other methods can indicate what parts of these files might be plagiarized. To nullify certain plagiarism techniques, such as variable renaming, a preprocessing option is included that is able to edit files before they are divided into the numerical array’s.