We use cookies to run the site, and (only with your permission) to understand usage with analytics.Read our Privacy Policy.

Analytics is off until you accept.
Security

Code Plagiarism Checker vs ChatGPT Code: Why Similarity Checks Aren't Enough Anymore

SANJAY5 minutes
Code Plagiarism Checker vs ChatGPT Code: Why Similarity Checks Aren't Enough Anymore

The report that came back clean

You run your usual code plagiarism checker on the latest assignment. The report comes back clean. No suspicious pairs, no copied functions. Great news, right?

Maybe not. A clean report used to mean students did their own work. Today it might just mean they didn't copy from each other. They copied from ChatGPT instead, and your checker was never built to notice that.

How code plagiarism checkers actually work

Most code plagiarism checkers, including MOSS, the tool many universities have relied on for decades, work by comparing submissions with each other. MOSS was developed at Stanford starting in 1994. It looks for structural similarity between programs, so it can still catch two students who shared code and just renamed the variables.

For years, that was exactly what instructors needed. The main way to cheat was copying a classmate or an old solution from a senior. Similarity checking caught that well.

Why ChatGPT code slips through

ChatGPT doesn't give every student the same answer. Ask it the same question twice, and you'll get two versions with different variable names, different structures, and sometimes a different approach. So there's no pair of matching submissions to flag.

Researchers have tested this directly. In a study of an introductory Java course, researchers compared 3,162 student programs with 3,000 ChatGPT solutions. MOSS flagged fewer than 1% of the ChatGPT solution pairs as similar. The authors concluded that MOSS on its own isn't enough to catch ChatGPT code.

HackerRank's engineers saw the same thing. In their own test, ChatGPT first refused to help disguise copied code. But after a few rephrased prompts, it produced a revised version that passed MOSS cleanly.

None of this means your plagiarism checker is broken. It still does the job it was built for. It's just that the way students cheat has changed.

What about AI code detectors?

The obvious next step is to search for an AI code detector. There are lots of free ones online, and some research models do well in lab conditions. The same Java study trained models that told student code apart from ChatGPT code with over 90% accuracy.

But doing well in a lab test is different from being right about a real student. A 95% accurate tool is still wrong for 1 student in every 20. Students also edit AI code, mix it with their own, or ask the AI to write "like a beginner." Accusing a student based only on a detector score is risky, and it can damage trust in your whole course.

What works now

Luckily, you don't need a perfect detector. A few simple checks that work together will get you most of the way.

Keep using your plagiarism checker. Classmates sharing codes hasn't gone away. Similarity checks still catch that.

Watch how the code was written, not just the final file. Code written in one big paste looks very different from code built up over an hour with mistakes along the way. Version history and session data can tell you a lot.

Control the environment for high-stakes work. For quizzes and exams, students should code in a monitored environment where you can verify who's working and what else is open on screen.

Ask students to explain their work. A short conversation is still the most reliable check there is. Students who wrote their code can talk about it. Students who pasted it usually can't.

Design assignments that need personal input. Problems tied to the student's own data or choices are harder to outsource.

How Lab.Computer helps

In Lab.Computer, students write code in a browser environment you control instead of on their own machines. For assessments that need to be secure, our Proctortrack integration adds identity verification, browser monitoring, environment checks, and session recording and gives you an integrity report to review. Our Assignment Generation Assistant also helps you create fresh problems each term, so old solutions are less useful.

Nothing is decided automatically. You get the evidence, and you make the call.

Your code plagiarism checker still has a place. It just can't be the only thing standing between your students and ChatGPT. Pair it with a controlled environment, smarter assignments, and a few honest conversations, and you can trust your grades again.

Quick takeaways

Frequently asked questions

Can MOSS detect ChatGPT code?

Not reliably. MOSS looks for similarity between submissions. In one Java course study, it flagged fewer than 1% of ChatGPT solution pairs.

Is there a reliable AI code detector?

Some research models score above 90% in testing, but no detector is accurate enough to be the only evidence against a student.

Should I still use a code plagiarism checker?

Yes. Students still share code with each other, and similarity checks remain the best way to catch that.

How can I reduce AI-written submissions?

Use fresh, personal assignments, ask students to explain their code, and run high-stakes work in a monitored environment.

Why is ChatGPT code harder to catch than copied code?

ChatGPT gives each student a slightly different answer, so there's no matching pair for a similarity checker to find.

What should I do if a detector flags a student?

Treat it as a starting point. Look at the code history, compare it with the student's earlier work, and ask them to explain it before making any decision.

Want to see it in action? Book a demo.

Code Plagiarism CheckerMOSSAI Code DetectorChatGPTAcademic Integrity