Using Program Dependency Graphs for plagiarism detection in Python
Plagiarism in computer science education programs is a significant problem, requiring resilient, reliable, automated tools for efficient detection. Plagiarism detection tools based on Program Dependency Graphs (PDG) fulfill these requirements, but do not directly support all programming languages. For example, for Python, an increasingly popular programming languages in computer science education, traditional PDG-based methods do not work, as they create too many incorrect edges. In this work we propose the PyDG framework, the first solution for PDG-based plagiarism detection for Python programs. PyDG’s approach is based on creating a slightly restricted Python language. Our empirical analysis demonstrates that PyDG successfully improves plagiarism detection by omplementing existing tools.
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted under the conditions of the Creative Commons Attribution-Share Alike (CC BY-SA) license and that copies bear this notice and the full citation on the first page.