Using Program Dependency Graphs for plagiarism detection in Python


  • Thomas Schaper University of Amsterdam



Plagiarism detection, Python, Static analysis, Program dependency graph


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.

Additional Files



How to Cite

Schaper, T. (2018). Using Program Dependency Graphs for plagiarism detection in Python. Student Undergraduate Research E-Journal!, 4.



Natural Sciences & Engineering