AI-Generated Code Detection: The New Frontier in Academic Integrity
As AI coding assistants become ubiquitous, learn how institutions are adapting to detect AI-generated code and maintain educational standards.
Expert insights on AI code detection and academic integrity
As AI coding assistants become ubiquitous, learn how institutions are adapting to detect AI-generated code and maintain educational standards.
Stay ahead with expert analysis and practical guides
General
9 min
Renaming a variable, extracting a helper, and swapping a for loop for a while loop are the three moves students reach for when they want a copied submission to look original. Some similarity engines shrug them off, and some lose the match entirely. This piece walks through how token hashing, AST subtree matching, and fingerprinting each behave against a deliberately refactored Python pair, then compares what MOSS, JPlag, Dolos, and Codequiry actually reported on the same cohort.
General
12 min
An AI detection score is a signal, not a verdict. This is the four-stage triage I borrowed from a fintech incident pipeline to decide which alerts deserve a conversation, which deserve a case file, and which deserve to be closed.
General
11 min
MOSS and JPlag compare Java to Java and Python to Python, which means a translated submission can score in single digits while the logic stays identical. This is how one lecturer, a TA, and a department chair handle ports, and what they've learned about the tooling that catches them.
General
15 min
Two Python submissions scored 4% against each other and in the 70s against a Java gist from 2017. Cross-language plagiarism is the fastest-growing blind spot in academic integrity because translation destroys the text while preserving everything that matters. Here's what survives a translation, what detectors actually see, and where the false positives come from.
General
11 min
Ottenstein's 1976 detector hashed student Fortran token streams, and most of what we run today is a refined version of the same idea. This is the fifty-year arc from line diffs to winnowing, AST matching, web crawling, and statistical AI detection, plus the failure mode that still bites: a 0% similarity score that tells you nothing about authorship.
General
11 min
Most statements of work say "original work" and never define it, which is how GPL code ends up in your settlement service. Here is the four-question intake review I run on every contractor deliverable, with the thresholds and tooling that hold up under scrutiny.
General
10 min
Line diffing under-reports copied code and over-reports similar-looking code. Here's what token normalization and AST fingerprinting actually compare, where each one breaks, and how to wire both into a CI pipeline or an academic submission workflow.
General
12 min
Renaming variables and swapping a for loop for a while loop defeats simple text matching, but it rarely defeats structural comparison. This report walks through the obfuscation ladder, the algorithms that climb it, and the published detection rates behind the claims, including the cases where every engine still misses.
General
9 min
A single AI detection score is a ranking, not a verdict, and most of the damage we've seen comes from reading it as one. This is the five-step triage we settled on after two years of grading CS 1 and CS 2 cohorts of roughly 400 submissions, including the score bands, the script, and the two cases where the whole thing fell apart.
General
11 min
Cross-language code plagiarism detection compares normalized structure rather than raw text, which works when a translation was mechanical and fails when the student rewrote the algorithm. Here is what survives a Java-to-Python translation, what the token and IR approaches actually see, and how to run the check across a whole cohort without drowning in false positives.
General
11 min
A public research university ran AI code detection as part of its grading workflow for a full academic year: eleven assignments, three courses, 4,118 submissions. The interesting number isn't the 3.8% that ended in a finding. It's the roughly two flagged files that got cleared for every one that held up, and what the department changed because of it.
General
13 min
A Java submission and a Python submission looked nothing alike, but they were the same algorithm translated line by line. This is the story of how cross-language code plagiarism detection actually works, where it catches translated code, and where it still fails.