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
11 min
Renaming variables and extracting helpers is the cheapest way to defeat a naive similarity checker, and the fix is not a better diff. This walks through the normalization stack that makes refactoring-resistant plagiarism detection work, from token streams to winnowing to tree edit distance, and is honest about the precision you pay for each step.
General
16 min
A student takes last year's Java solution and hands you Python. Same-language scanners see nothing, because the tokens barely overlap. Here is the normalization stack, the thresholds, and the review workflow we used to catch 61 translated pairs in a single term of 1,412 submissions.
General
12 min
Eleven of the 43 files I flagged as machine-written last fall belonged to students who had never opened a chat window. This is a step-by-step account of the calibration I now run every August: human baselines, per-file scoring, and a combining rule that cut my review queue from 214 to 61.
General
10 min
Pasting from Stack Overflow is the most common form of web code plagiarism, and peer comparison tools like MOSS will never see it. Here's how token fingerprinting actually matches a submission to a 2013 answer, how to read a web match report without overreacting, and why "Stack Overflow is public domain" is the most expensive misconception in the room.
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
10 min
I ran 4,000 bootcamp submissions through web-source matching and 22% matched something public. Most of those matches were harmless. Here's what a real Stack Overflow diff looks like, why GitHub matches almost always come with a receipt, and how I stopped flagging half my class with false positives.
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
10 min
Take 30 hand-written Java solutions, push them through five levels of mechanical refactoring, and you get a controlled ladder for asking a simple question: how much does each similarity engine actually see? The answers differ by nearly a factor of four, and the differences map cleanly onto how we should be designing assignments.
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
12 min
A DevSecOps lead's field notes on putting AI-generated code detection inside a real CI pipeline: what the detector actually measures, which files produce false positives on day one, and why the gate should warn on pull requests but only block on release. Includes the config we run and the numbers we got.
General
17 min
A student submits Python. Their partner submits Java. A line diff reports 0% identical text, and the plagiarism checker stays quiet. Cross-language copying is a semantic clone problem, and it needs a different kind of comparison than the token matching most tools provide. Here is how the detection actually works, where it fails, and what to put in your syllabus before next term.
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.