Application of Java Relationship Graphs to Academics for Detection of Plagiarism in Java Projects
Divya Tyagi*, Ritu Arora and Yashvardhan Sharma
Published: March 31, 2022
In today’s online learning environment, plagiarism detection tools are increasingly used by teachers and instructors to restrain students from plagiarism. Moreover, need for plagiarism detection tools to detect plagiarism in programming assignments has also increased manifolds. In this paper, we present the application of Neo4j Graph Databases to detect similarity between Java program submissions by students, in academics. This is done by converting a Java program into a specialized dependency graph and then implementing various comparison techniques on this graph. The two graph comparison techniques proposed and implemented in this paper are based on structural comparison of graphs by node-type count comparison and elemental comparison of method nodes in graphs by body-element-count comparison. The results of these two techniques are combined with the call graph-based technique, proposed in an earlier work, to calculate overall similarity index between program codes. This study captures a large category of changes that may be introduced to the code for plagiarism.