Using Program Dependency Graphs for plagiarism detection in Python

Authors

  • Thomas Schaper University of Amsterdam

DOI:

https://doi.org/10.25609/sure.v4.2830

Keywords:

Plagiarism detection, Python, Static analysis, Program dependency graph

Abstract

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

Published

2018-11-09

Issue

Section

Natural Sciences & Engineering