Skip to content

v0.3.0 - Multi-Backend Capstone Release

Latest

Choose a tag to compare

@nerdsane nerdsane released this 11 Jan 21:45
· 9 commits to master since this release

Bloodhound v0.3.0 - Multi-Backend Capstone Release

This release introduces Bloodhound's pluggable backend architecture with four determinism mechanisms working together. Each backend is optimal for different bug types.

🎯 Key Innovation: Not Just Hypervisors

Bloodhound uses multiple determinism mechanisms, not just traditional hypervisors:

Backend Mechanism Speed Best For
Simulated In-process actors 33,456 iter/sec Fast iteration, logic bugs
Hermit ptrace + PMU 10-50x slower Thread race detection
gVisor DST Userspace kernel 2-5x slower Disk/network faults
QEMU TCG Full emulation 100-1000x slower Complete system determinism

✅ Capstone Test Results

All 5 scenarios pass with 4 backends working together:

  • Scenario 1: Thread race detection (Hermit) - deterministic goroutine scheduling
  • Scenario 2: Disk fault resilience (gVisor DST) - 17 corruptions detected in buggy store
  • Scenario 3: Network partition recovery (Simulated) - fast split-brain exploration
  • Scenario 4: Full determinism proof (QEMU TCG) - identical seed initialization
  • Scenario 5: Fast iteration (Simulated) - 33,456 iterations/second

🔧 gVisor DST Improvements

  • Added fault hooks to pread64, preadv, preadv2, pwrite64, pwritev, pwritev2
  • FD filtering (0-2) protects stdio while allowing application file faults
  • Deterministic xorshift64 RNG for reproducible fault patterns
  • Config propagation via ToFlags() to child processes

🍴 Backend Forks

All forks rebased to upstream (2026-01-11):

📖 Documentation

  • Updated ADR-005 (Execution Modes) with multi-backend validation
  • Updated ADR-009 (gVisor DST Integration) with pread/pwrite hooks
  • Comprehensive capstone README with test results

🚀 Quick Start

```bash

Run capstone demo (all backends)

cd examples/multi-backend-capstone
./run_demo.sh --all

Or individual backends

./run_demo.sh --scenario 01-thread-race --backend hermit
./run_demo.sh --scenario 02-disk-faults --backend gvisor
```


Full Changelog: v0.2.0...v0.3.0