Churn measurement · AI code audit

The world's best code churn tool (CHG_SLOC + CHG_LLOC) adds AI-generated code detection!

CodeDelta computes physical and logical line-level churn (SLOC + LLOC) across two snapshots of a codebase, and audits the same code for machine-generated content — in over thirty languages.

# churn + AI audit on two snapshots $ codedelta ./release-1.6.0 ./release-1.7.0 -o report.html --ai-audit scanning ...... 1,284 files matched across 31 languages aligning ...... two-pass logical diff complete SLOC changed 3,118 added 9,447 deleted 2,031 LLOC changed 1,902 added 5,613 deleted 1,144 # AI audit of added / changed code AI-AUDIT 312 files scanned 47 flagged as likely AI-generated 2,940 LLOC (34%) of new code matches machine-generation signals report written to report.html (per-file, verifiable)

Built on 20 years of churn-measurement heritage. Its predecessor was used by

AMD  ·  Cisco  ·  IBM  ·  Lockheed Martin  ·  Raytheon  ·  Nokia  ·  Ericsson  ·  Siemens  ·  Sony  ·  General Dynamics
Two instruments in one

Churn measurement and AI audit, on the same codebase.

CodeDelta does two things from a single analysis: it measures exactly how much code changed between two versions, and it audits that code for machine-generated content. Both run locally, both produce verifiable per-file reports.

CHURNTwo-snapshot measurement

Quantifies added, deleted, changed, and unchanged lines between two versions of a project — per file and in aggregate.

CHURNPhysical & logical

Counts both SLOC (physical) and LLOC (statement-level) with per-language tokenisers, so reformatting doesn't inflate the result.

CHURNVerifiable output

Every classification is inspectable in a per-line report. The numbers can be audited, not just trusted.

AIDetects AI-generated code

Audits added and changed code for stylometric signals consistent with machine generation, and reports how much of a change is likely AI-written.

AIPer-file, flagged

Flags individual files and reports the proportion of new code matching machine-generation signals — surfacing where to focus human review.

AIHonest signals

Reported as signals for review, with the method and its limits documented in an open technical paper — not presented as infallible proof.

BOTH30+ languages

C/C++, Java, C#, Python, JavaScript/TypeScript, Go and more, detected automatically by extension.

BOTHLocal & offline

Runs entirely on your machine. No source code leaves your environment. Results accumulate in a local store for trend analysis.

BOTHOne report

Churn metrics and AI-audit findings appear together in a single per-file HTML report you can inspect and share internally.

The output

What CodeDelta produces.

A single run generates a per-file HTML report covering both churn and AI audit, a side-by-side diff viewer, and a summary overview — all inspectable, all local.

CodeDelta — Source Code Change Analysis
release-1.6.0 → release-1.7.0 · 1,284 files · 31 languages
ProjectChanged 218 Added 96Deleted 41Unchanged 929
3,118
CHG_SLOC
9,447
ADD_SLOC
2,031
DEL_SLOC
1,902
CHG_LLOC
filechgadddel
engine/parser.cpp2148831
core/matrix.cpp9614212
ui/dashboard.js614055
Churn report — per-file CHG / ADD / DEL across SLOC & LLOC.
AI Code Audit
312 files scanned · 47 flagged as likely AI-generated
Share of new code matching machine-generation signals
2,940 LLOC (34%) of added/changed code
fileAI-likelihood
utils/json_export.py88%
core/cache.py72%
engine/parser.cpp21%
AI audit — per-file likelihood that new code is machine-generated.
Diff Viewer — core/matrix.cpp
changed · +142 / −12 lines
41Matrix Matrix::add(const Matrix& o) const {
42− Matrix result(rows_, cols_);
42+ if (rows_ != o.rows_ || cols_ != o.cols_)
43+ throw std::invalid_argument("dim mismatch");
44+ Matrix result(rows_, cols_);
45 for (int i = 0; i < rows_*cols_; ++i)
46+ Matrix Matrix::multiply(const Matrix& o) const {
Diff viewer — line-by-line, every classification inspectable.
Project Overview
summary for project leads
14,592
TOTAL CRN
355
FILES TOUCHED
34%
AI-FLAGGED
Churn by type
changed 34% · added 48% · deleted 18%
Churn over last 6 snapshots
Overview — PM summary with trend across recorded runs.

Illustrative representations of CodeDelta output. Layout and figures shown for illustration.

Method

Two methods, documented openly.

Churn: CodeDelta aligns each file pair with a longest-common-subsequence algorithm, once over physical lines and once over a logical-statement token stream, with a second pass disambiguating repeated tokens using scope-qualified anchors.

AI audit: added and changed code is scored against stylometric signals associated with machine-generated source, and reported per file as a likelihood — explicitly as a signal for review, not a verdict.

Both methods, and their limitations, are documented in two open technical papers written to be independently verifiable.

Read the technical papers →

  • SLOC

    Physical lines

    Non-blank, non-comment source lines after whitespace normalisation.

  • LLOC

    Logical lines

    Statement-delimited units; invariant under most reformatting.

  • CHG

    Change classification

    Similarity-thresholded pairing of deletions and additions into modifications.

  • CRN

    Total churn

    Aggregate of changed, added, and deleted across the project.

  • AI

    AI-code audit

    Per-file likelihood that added/changed code is machine-generated, from stylometric signals.

At a glance
2
Instruments: churn + AI audit
30+
Languages auto-detected
100%
Local — no code uploaded
Mac / Win / Linux
Cross-platform

Evaluate it on your own codebase.

Download a time-limited trial license and run CodeDelta locally. No source code is transmitted.

Register interest