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
Three decades of code similarity detection can be told as two changes in the unit of comparison, from lines to token sequences to syntax trees. Each shift shrank the review queue by an order of magnitude. Here's what each era bought, what it still misses, and how generated code forced the field to add a second axis.
General
11 min
A student turns in Dijkstra's algorithm in Python. Another turned in the same algorithm in Java three weeks earlier. JPlag scores the pair at 4 percent, and MOSS never compares them at all. Here's why language-to-language copying has become the blind spot in academic integrity tooling, and what actually catches it.
General
9 min
Plot every similarity score in a class and you don't get a clean line between innocent and guilty. You get a fat hump in the forties and a long tail. Here's four semesters of data on what a code similarity threshold should actually be, and why the same number fails in Java and Python.
General
12 min
A working build guide to the similarity pipeline behind most academic code checks: tokenization, k-gram fingerprinting, winnowing, and AST shape comparison in roughly 300 lines of Python. Includes the threshold calibration table we used across six assignments and an honest account of where a homegrown checker stops being enough.
General
15 min
A code similarity score is not a probability of cheating. It's a measurement of overlapping token fingerprints, and it can be high for honest reasons or low for dishonest ones. Here's what sits underneath the number, with worked Java examples and the thresholds that hold up when a student appeals.
General
12 min
A 71% similarity score means nothing on its own, but it has to survive a room full of people who want an answer. Here is the exact calibration workflow I use: normalization settings, cohort percentiles, tiered thresholds, and an evidence packet that holds up when a student appeals.
General
17 min
Five generations of code similarity detection have each been beaten by a student with a text editor. This is the technical history of how detectors moved from byte comparison to tokens, fingerprints, syntax trees and learned vectors, and what that arc tells you about choosing a tool that can still find a match when the code has been renamed, refactored, or generated by a model.
General
12 min
A department ran a web-source scan on 412 intro Python submissions and got 61 hits, 23 of which were noise. This is the eight-step workflow they built afterward, from normalizing LMS exports and budgeting GitHub's code search rate limit to ranking matches by token count instead of percentage and assembling an evidence packet that survives an appeal.
General
13 min
License detection spent twenty years matching strings against license texts and missing the code underneath them. The algorithms that fixed it came out of plagiarism research, not legal tech. A look at what changed after 2003, and what the AI boom reopened.
General
12 min
I seeded 48 known-copy pairs into 1,247 real bootcamp submissions and ran them through MOSS, JPlag, Dolos, and Codequiry. Token-based engines held up against renaming and reformatting, then collapsed once control flow changed. Here's the data, the methodology, and where every engine breaks.
General
11 min
Renaming variables and restructuring control flow used to be the cheat code for copying a classmate's submission. It hasn't been for years, and the techniques that closed that door are worth understanding before LLM rewrites move the goalposts again. A practical look at what each family of code similarity detection actually compares, and where all of them still fail.
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.