The Long Road to Refactoring-Resistant Code Plagiarism Detection
Code refactoring — renaming variables, reordering statements, extracting functions — has long been the easiest way for students to disguise copied code. This article traces the thirty-year arms race between obfuscation tactics and detection techniques, from simple string comparison to modern AST and graph-based analysis that can spot similarities even after heavy transformation. Understanding this history explains why no single method is perfect and how layered approaches like Codequiry’s hybrid engine achieve the highest accuracy.