Inspiration

A small reproducer is only helpful if it still demonstrates the same failure. Treating an unrelated crash, a missing dependency, or an unevaluated test as a pass can make a reduction look more convincing than its evidence supports. ReproSlice makes that distinction visible.

What it does

ReproSlice is a local browser lab for reducing synthetic failing configurations. Paste up to 128 lines, select one of three deterministic teaching models, and inspect the retained source lines, target failure signature, deletion checks and full query trace. No account, server, uploads or API key is needed.

The default conflict sample reduces 12 lines to the original CACHE=on and FRESH=required lines. Deleting either passes that synthetic model. The dependency sample deliberately produces UNRESOLVED when HEADER=v1 is removed, and the app withholds a verified 1-minimality claim. The ordered-sequence model preserves OPEN, COMMIT and CLOSE in their original order.

How it was built

The implementation uses dependency-free HTML, CSS and JavaScript ES modules. A complement-based reducer accepts a candidate only when its failure signature matches the selected target. A single-deletion sweep is followed by an explicit audit. Original line IDs preserve provenance even when identical text occurs twice. Cached observations are labelled separately from actual oracle executions.

All user input is rendered as text. There is no eval, shell execution, remote API, analytics or persistent browser storage. A Content Security Policy disables network connections. JSON export contains the original input, retained lines, target signature, complete observations, deletion audit and explicit global_minimum_claimed:false. The displayed SHA-256 covers the exact downloaded JSON bytes.

Challenges and learning

1-minimal is not the same as globally smallest. The test suite includes a nonmonotone case where a three-line reproducer passes every single-deletion check even though a different one-line failing subset exists. UNRESOLVED checks also cannot justify the same claim as passing tests. The interface keeps these distinctions in the result and exported report.

Validation

Eleven Node built-in tests pass. One independently enumerates subsets for 512 deterministic oracle truth tables containing target failures, passes, unresolved outcomes and unrelated failures. Other checks cover duplicate-line identity, exact failure signatures, CRLF normalization, malformed Unicode, query bounds and deterministic reports.

Native-browser checks exercised all three models, result invalidation after input edits, report export and actual file download. The downloaded dependency report matched its displayed SHA-256 and retained the unconfirmed-minimality result. A 390-pixel mobile viewport had no document overflow. These are synthetic implementation checks, not production performance measurements.

Limits and next steps

This is an educational prototype with three hand-written oracles. It does not run arbitrary user code or diagnose a real production system. A verified 1-minimal result applies only to the selected deterministic model and current input; it does not establish a globally smallest set, root cause or statistical confidence. Reports include all original input lines, so users must review them before sharing and should use no secrets. Next work would require a separately designed, safely isolated real-test adapter and reproducible real-system evaluation.

Credit and AI disclosure

Delta debugging is established research by Andreas Zeller and Ralf Hildebrandt, Simplifying and Isolating Failure-Inducing Input, IEEE TSE 28(2), 2002: https://www.st.cs.uni-saarland.de/papers/tse2002/ . This is an independently written implementation; no algorithm invention is claimed. OpenAI Codex assisted with implementation, tests, design and documentation. The visual reference was generated with the built-in image tool; no generated raster interface is shipped. No paid API or video was used.

Share this project:

Updates

Submission history