Detect plagiarized and similar code across code sources on the web See what's new
Alex Petrov

Alex Petrov

Detection Systems Engineer at Codequiry

Alex focuses on refactoring-resistant similarity detection and benchmarking Codequiry against tools like MOSS, JPlag and Dolos.

Articles by Alex Petrov

From Manual Google Searches to Automated Stack Overflow Code Detection General 10 min
Alex Petrov Alex Petrov 3 hours ago

From Manual Google Searches to Automated Stack Overflow Code Detection

Quoted Google searches used to be the standard way to catch a Stack Overflow lift. I tracked the shift across tools, fingerprints, and live web corpora, and why modern checks need to pair source matching with AI detection. The short version: the web changed the question from "who copied whom" to "where did this code come from."

How Token-Based Fingerprinting Drives Contractor Code Verification General 8 min
Alex Petrov Alex Petrov 2 days ago

How Token-Based Fingerprinting Drives Contractor Code Verification

A logistics company needed to know whether a contractor's 14,000-line Python service was original before paying the final invoice. Token-based fingerprinting showed exactly how much had been lifted from an open source repo and rewritten just enough to hide. What the team learned about normalization, thresholds, and the limits of similarity scoring applies to any company that accepts outside code.

What 238 License Violation Tickets Taught Me About Open Source Compliance General 10 min
Alex Petrov Alex Petrov 3 days ago

What 238 License Violation Tickets Taught Me About Open Source Compliance

As a bootcamp instructor and open-source maintainer, I've closed hundreds of license-related pull requests. Most were copy-paste fixes where someone dropped a Stack Overflow function into a GPL project. This walks through what actually triggers license tickets, which scanners catch what, and where source similarity tools save you from silent compliance failures.

What 2,312 CS1 Python Submissions Revealed About Code Copied General 10 min
Alex Petrov Alex Petrov 4 days ago

What 2,312 CS1 Python Submissions Revealed About Code Copied

A direct walkthrough of a Python code plagiarism audit across three bootcamp cohorts. Learn which thresholds actually caught copied code, why starter-code exclusion matters, and how to stack web and AI detection into one honest review pass.

Perplexity Thresholds for Detecting AI Code General 9 min
Alex Petrov Alex Petrov 1 week ago

Perplexity Thresholds for Detecting AI Code

A bootcamp instructor explains how token-level perplexity works as an AI code signal, what thresholds we actually use in Java review, and why a single statistical score is never enough on its own.

How a 400-Student Python Course Flags AI and Copied Code General 11 min
Alex Petrov Alex Petrov 2 weeks ago

How a 400-Student Python Course Flags AI and Copied Code

A 400-student Python course adopted Codequiry to check submissions for plagiarism and AI generation. The instructor found that 18% of assignments contained copy-pasted code from Chegg, and 12% showed strong signs of LLM authorship — a pattern that peer-only checks had missed entirely.

How a University Caught AI-Generated Code in 14Percent of CS2 Submissions General 11 min
Alex Petrov Alex Petrov 3 weeks ago

How a University Caught AI-Generated Code in 14Percent of CS2 Submissions

When Riverside University’s CS department ran an AI detector across 300 CS2 assignments alongside MOSS, they discovered a new layer of academic integrity challenges. The case study reveals what they found, how they calibrated thresholds, and why combining AI detection with source-code fingerprinting changed their grading workflow.

Putting a Code Similarity Checker in Your Git Pre-Commit Hook General 11 min
Alex Petrov Alex Petrov 4 weeks ago

Putting a Code Similarity Checker in Your Git Pre-Commit Hook

A copied snippet might survive a human code review after a quick variable rename and loop inversion. A similarity checker that understands ASTs won’t be fooled. This guide walks through wiring Codequiry’s API into your Git pre‑commit workflow, step by step, so every commit is scanned for non‑original code before it hits the branch.

How Winnowing Fingerprints Resist Variable Renaming General 12 min
Alex Petrov Alex Petrov 1 month ago

How Winnowing Fingerprints Resist Variable Renaming

Winnowing fingerprinting is the back‑bone of tools like MOSS that spot copied code even after students rename every variable and shuffle blocks. This deep‑dive unpacks the algorithm, its thresholds, and why a multimodal approach—token, AST, and web‑source checking—covers the gaps that fingerprinting alone leaves open.

How Much Copied Stack Overflow Code Do Plagiarism Tools Actually Catch General 10 min
Alex Petrov Alex Petrov 1 month ago

How Much Copied Stack Overflow Code Do Plagiarism Tools Actually Catch

Traditional similarity tools like MOSS and JPlag compare student submissions against each other but leave a massive blind spot: code copied directly from Stack Overflow, GitHub repositories, and online tutorials. This article examines how web source detection works, what it catches that peer comparison misses, and why both approaches together give you the real picture of code originality.

How Code Similarity Checks Catch Open Source License Violations General 9 min
Alex Petrov Alex Petrov 2 months ago

How Code Similarity Checks Catch Open Source License Violations

Code similarity analysis isn't just for catching student plagiarism. Organizations use the same techniques to identify GPL and other open source license violations in their proprietary codebases. This article walks through the algorithms, real-world cases, and practical workflows for automated license compliance auditing.

Can AST Comparison Survive Student Code Obfuscation General 3 min
Alex Petrov Alex Petrov 2 months ago

Can AST Comparison Survive Student Code Obfuscation

Students often try to hide copied code by renaming variables, restructuring loops, or inserting dead code. AST-based comparison resists many of these tricks, but some deliberate obfuscation—like flattening control flow or converting recursion to iteration—can still produce a false negative. This article examines where AST engines excel, where they fall short, and how combining structural matching with token signatures catches the most clever attempts.