The Problem

AI coding tools and modern development workflows make it increasingly easy to change code quickly. But generating a change is not the same as proving that it works.

A test suite can pass while newly modified code remains untested. Traditional code review can identify suspicious changes, but developers still need to establish what actually executed, which inputs were tested, and whether a change introduced a reproducible regression.

Developers need more than another AI-generated code review. They need evidence.

Our Solution

BranchSleuth is a Python-first code-change verification platform that connects modified code to actual test execution and targeted regression analysis.

Instead of treating a green test suite as sufficient proof, BranchSleuth investigates the relationship between code changes, test coverage, execution results, and potential failures.

Its architecture combines Git diff analysis, Python AST parsing, pytest coverage contexts, property-based testing, baseline-versus-modified comparisons, and an interactive evidence graph.

How It Works

1. Analyze the change

BranchSleuth compares two Git revisions, identifies modified files and lines, and maps those changes to the functions and classes containing them.

2. Connect changes to tests

Using real test execution and coverage data, it identifies which tests executed changed lines and highlights modified code that existing tests did not exercise.

3. Investigate edge cases

Where supported, targeted property-based testing explores additional inputs. The verification engine compares baseline and modified behavior and records relevant exceptions, failed checks, and behavioral differences.

4. Explain the evidence

The results distinguish uncovered code, behavioral differences, reproduced failures, passing checks, and inconclusive runs. An execution difference is not automatically classified as a bug: the finding must be supported by an appropriate test, explicit property, or reproducible failure.

5. Make the findings inspectable

The planned evidence graph connects changed files and functions to tests, coverage records, and verification results. Developers can trace a finding back to the evidence that supports it instead of relying on an unexplained AI verdict.

What Makes BranchSleuth Different?

BranchSleuth focuses on the connection between a code change and the evidence available to evaluate it.

Its goal is not to replace developers, existing test frameworks, or code-review tools. It is to make verification more targeted, explainable, and reproducible by showing what was actually tested and what remains uncertain.

The key idea is simple: coverage is evidence of execution, not proof of correctness. BranchSleuth uses that evidence to help direct additional testing toward the places where a change may have introduced a regression.

Technology

The project is built around Python and FastAPI for the analysis engine, Git and Python AST for change analysis, pytest and coverage.py for test execution evidence, Hypothesis for property-based testing, Docker for isolated execution where supported, and React Flow with TypeScript for the interactive visualization.

PostgreSQL through Neon is used for persistent data where configured and verified.

Why We Are Building It

We want developers to spend less time guessing whether a change is safe and more time examining concrete evidence. By connecting modified code, actual test execution, and reproducible findings, BranchSleuth aims to make software verification more transparent and useful in increasingly AI-assisted development workflows.

Our goal is to build a tool that developers can use alongside their existing repositories and tests, with results they can inspect, reproduce, and independently evaluate.

Built With

Share this project:

Updates

Submission history