Início Documentação Técnica Cenários & Soluções Trace Visualizer (chaossql ui) Matriz de Isolamento Playground WASM GitHub Repository ↗
Studio Bregalda • Systems Engineering • Version 1.2.0

Deterministic Concurrency & Isolation Fuzzer

ChaosSQL injects stochastic micro-jitter to trigger rare database race conditions, classifies isolation anomalies through Adya dependency graphs, and shrinks 100-operation execution traces to 1-minimal reproductions in milliseconds.

Explorar Documentação Ver 10 Cenários
$ go install github.com/bregaldahq/chaossql/cmd/chaossql@latest
chaossql run examples/banking_lost_update/chaos.yaml --seed=42
# Initializing PCT-SQL concurrency fuzzer (4 workers, 20 iterations, seed=42)...
# Injecting micro-jitter [1ms, 5ms] on SQLite in-memory driver (Zero CGO)...
✘ ISOLATION ANOMALY DETECTED: P4_LOST_UPDATE
Cycle: T1 ──(rw)──► T2 ──(ww)──► T1
Violated Invariant: total_balance == 1000 (Actual: 850)
▶ Starting Causal Delta-Debugging (ddmin)...
[Iteration 1] Testing subset of 10 operations ──► FAIL (Anomaly Preserved)
[Iteration 2] Testing subset of 4 operations ──► FAIL (Anomaly Preserved)
[Iteration 3] Testing subset of 2 operations ──► FAIL (1-minimal achieved)
✔ Trace shrunk from 20 to 2 operations (90.0% reduction in 68ms)
Synthesized standalone repro: bin/repro_test.go
DIRECT SERIALIZATION GRAPH (DSG) Adya Cycle Classification
rw (anti) ww (write) T₁ Worker 0 w(bal=900) T₂ Worker 1 w(bal=900)

Built on Formal Concurrency Research

ChaosSQL replaces heuristic guesswork with rigorous isolation theory, provable scheduling bounds, and algorithmic test case minimization.

01 / GRAPH THEORY FORMAL VERIFICATION

Adya Cycle Classification

Constructs dynamic Direct Serialization Graphs $DSG(H) = (V, E)$ tracking write-read ($wr$), write-write ($ww$), and read-write anti-dependency ($rw$) edges to categorize anomalies (P4, A5B, A5A, G0, G2).

Atul Adya (MIT 1999) 100% Deterministic
02 / PROBABILITY BOUNDS PCT SCHEDULING

PCT-SQL Priority Scheduling

Adapts Probabilistic Concurrency Testing to SQL engines. Mathematically guarantees finding isolation bugs of bug-depth $d$ with lower bound $\mathbb{P} \ge rac{1}{n \cdot k^{d-1}}$, avoiding deadlocks and thread starvation.

Burckhardt et al. (ASPLOS 2010) Provable Guarantee
03 / TRACE MINIMIZATION DELTA-DEBUGGING

Causal Delta-Debugging ($ddmin$)

Partitions noisy execution histories of 100+ concurrent operations to isolate the exact 1-minimal subset of 2 steps required to reproduce the anomaly in <200ms.

Andreas Zeller (IEEE TSE 2002) 90% Noise Cut
04 / OBSERVABILITY LOCAL WEB SERVER

Interactive Trace Visualizer

Embedded HTTP engine on port 8090 with microsecond Gantt swimlanes per goroutine, interactive Adya conflict graphs, and deep parameter query inspector.

chaossql ui 127.0.0.1:8090
05 / CI/CD GATING SECURITY GATING

OASIS SARIF 2.1.0 & GitHub

Converts database isolation flaws directly into security findings in GitHub Code Scanning with 9 formal rules, JUnit XML test results, and PR step summaries.

OASIS Standard 9 Formal Rules
06 / ULTRA HIGH THROUGHPUT PURE GO DRIVER

Zero CGO & Pure Go

Compiled with CGO_ENABLED=0 using modernc.org/sqlite. Completely static binary with zero external C libraries and micro-benchmark throughput of 13.9M operations/sec.

Go 1.22+ Runtime 13.9M ops/sec
ChaosSQL / Docs / Começando
Começando

Guia de Início Rápido & Primeiros Passos

Aprenda o que é o ChaosSQL, seus requisitos de instalação e execute seu primeiro teste fuzzer de concorrência em menos de 5 minutos.

10 Flagship Demonstration Scenarios & Fixes

Explore anomalias de isolamento reais em livros bancários, inventário, plantões médicos e corretoras cripto — com redução causal e código de mitigação em produção.

Banking Lost Update (P4)

Concurrent withdrawals under READ COMMITTED overwrite balances without transactional serialization.

Interactive Trace Visualizer

Servidor web de observabilidade de alta resolução. Analise o entrelaçamento de goroutines em escala de microssegundos, o Grafo de Forças Adya e compare o trace original de 20 passos com a síntese minimal de 2 passos.

P4_LOST_UPDATE detected at t=184μs
Grafo de Dependências Adya (DSG) Cycle: rw ∘ ww

Hermitage Isolation Anomaly Matrix

Comparação empírica dos limites de isolamento entre motores SQL através de baterias automáticas de testes concorrentes fuzzed com ChaosSQL (chaossql matrix).

Anomaly / Phenonemon Formal Cycle SQLite (WAL) PostgreSQL (RC) PostgreSQL (SSI) MySQL (InnoDB RR)
P4 — Lost Update T1 ──(rw)──► T2 ──(ww)──► T1 PERMITTED PERMITTED PREVENTED PREVENTED
A5B — Write Skew T1 ──(rw)──► T2 ──(rw)──► T1 PERMITTED PERMITTED PREVENTED PERMITTED
A5A — Read Skew T1 ──(rw)──► T2 ──(wr)──► T1 PERMITTED PERMITTED PREVENTED PREVENTED
G0 — Dirty Write T1 ──(ww)──► T2 ──(ww)──► T1 PREVENTED PREVENTED PREVENTED PREVENTED
G1a — Dirty Read (Aborted) w1(x) ... r2(x) ... a1 PREVENTED PREVENTED PREVENTED PREVENTED
G2 — Anti-Dependency Cycle T1 ──(rw)──► T2 ──(rw)──► T3 ──(rw)──► T1 PERMITTED PERMITTED PREVENTED PERMITTED
G-DL — Deadlock Cycle T1 ──(waits)──► T2 ──(waits)──► T1 DETECTED (Timeout) DETECTED (40P01) DETECTED (40P01) DETECTED (1213)
IN-BROWSER WEBASSEMBLY ENGINE

Playground WebAssembly (WASM)

Execute o fuzzer de concorrência, o classificador Adya DSG e o delta-debugging causal diretamente no seu navegador, com zero servidor backend e zero dependências nativas.

Configuração & Cenário

Iniciando WASM...
4
15
10ms
42
chaos.yaml (DSL)
📊

Observabilidade em Tempo Real

Operações
Anomalia Adya
Conflito Detectado
Tempo de Fuzzing
Clique em "Executar Fuzzing (WASM)" para gerar o Grafo Adya
Anti-dependência (rw) Escrita-Escrita (ww) Escrita-Leitura (wr)