Keywords
AI, Academic Integrity
Technologies
Python, Abstract Syntax Trees
This project investigates whether structure-based code plagiarism detection methods can be applied to identify AI-generated source code submissions in academic settings. The motivation is that advances in AI have made traditional plagiarism far harder to detect, undermining academic integrity in computer science courses.
The research compares three categories of detection algorithm: fingerprinting (MOSS), string/token matching (JPLAG), and structural analysis (ASTK and its weighted variant, WASTK) and a combined algorithm utilising both MOSS and WASTK. Structural approaches are of particular interest as they analyse Abstract Syntax Trees, making them robust against superficial obfuscation like variable renaming or reordered declarations. To generate a testing dataset, a study was conducted with ten final-year computer science students completing Python programming tasks across three rounds, original submissions, low-level plagiarism, and unrestricted plagiarism adapted from prior Java-based research.
Experimentation has been completed to investigate the similarity of AI generated code, using all 5 algorithms in a suite of tests to investigate the hypothesis.