
Differential Fuzzer
This is a property-based differential fuzzer that catches correctness bugs by running generated SQL statements against both Turso and SQLite, then comparing results. You can run it once with a specific seed for reproducibility or loop it continuously to hunt for edge cases. It generates hundreds or thousands of statements per run and flags mismatches in row sets, error handling, or schema state. The Docker runner is built for CI and will auto-file GitHub issues when it finds problems. Useful when you're working on Turso's SQL implementation and need confidence that behavior matches SQLite semantics. The seed-based reproduction workflow is solid: just grab the seed from the logs, rerun with verbose output, and you'll get the exact failing statement sequence dumped to test.sql.
- skills.sh installs
- 1.2K
- GitHub stars
- 25.2K
- last updated
- Aug 21, 2026
Install
$ npx -y skills add tursodatabase/turso --skill differential-fuzzer --agent claude-codeInstalls into .claude/skills of the current project.
Files
Differential Fuzzer
Always load Debugging skill for reference
The differential fuzzer compares Turso results against SQLite for generated SQL statements to find correctness bugs.
Location
testing/differential-oracle/fuzzer/
Running the Fuzzer
Single Run
# Basic run (100 statements, random seed)
cargo run --bin differential_fuzzer
# With specific seed for reproducibility
cargo run --bin differential_fuzzer -- --seed 12345
# More statements with verbose output
cargo run --bin differential_fuzzer -- -n 1000 --verbose
# Keep database files after run (for debugging)
cargo run --bin differential_fuzzer -- --seed 12345 --keep-files
# All options
cargo run --bin differential_fuzzer -- \
--seed <SEED> # Deterministic seed
-n <NUM> # Number of statements (default: 100)
-t <NUM> # Number of tables (default: 2)
-c <NUM> # Columns per table (default: 5)
--verbose # Print each SQL statement
--keep-files # Persist .db files to disk
Continuous Fuzzing (Loop Mode)
# Run forever with random seeds
cargo run --bin differential_fuzzer -- loop
Sponsors
Details
- Repository
- github.com/tursodatabase/turso
- Category
- Databases
- First seen
- May 16, 2026