General
10 min
How Few AST Nodes Do You Need to Catch a Copied Function
A single function with renamed variables, reordered statements, and changed whitespace can still look structurally identical under the hood. This step-by-step guide builds a minimal AST clone detector in Python, explains where it breaks, and shows how production tools like Codequiry stack structural, token‑level, and web‑origin checks to catch the copying that student‑grade normalizers miss.