# Fuzzer Benchmark Report (from bug-count CSV)

- Time budget: **4.00h**

## Executive summary
This report is derived solely from cumulative bugs-found over time across repeated runs per fuzzer. It emphasizes robust, distribution-based metrics (median/IQR, success rates, time-to-k) and shape-based behavior (plateau time, late discovery share) instead of single-run time-to-first-bug.

## Bugs found at fixed time budgets (median [IQR])
| Fuzzer | Runs | 1h | 4h |
|---|---|---|---|
| medusa | 2 | 6 [6,6] | 6 [6,6] |
| foundry | 2 | 2 [2,2] | 2 [2,2] |
| echidna | 2 | 0 [0,0] | 0 [0,0] |

## Overall metrics
| Fuzzer | AUC (norm) | Plateau time | Late discovery share | Final median | Final IQR |
|---|---|---|---|---|---|
| medusa | 0.983 | 0.10h | 0.000 | 6 | 0.00 |
| foundry | 0.331 | 0.10h | 0.000 | 2 | 0.00 |
| echidna | 0.000 | 0.00h | 0.000 | 0 | 0.00 |

## Milestones: time-to-k and success rates
| Fuzzer | time-to-1 (p50) | time-to-3 (p50) | time-to-5 (p50) | reach-1 rate | reach-3 rate | reach-5 rate |
|---|---|---|---|---|---|---|
| medusa | 0.00h | 0.10h | 0.10h | 100.0% | 100.0% | 100.0% |
| foundry | 0.00h | inf | inf | 100.0% | 0.0% | 0.0% |
| echidna | inf | inf | inf | 0.0% | 0.0% | 0.0% |

## Throughput metrics (if supported by log format)
Values are run-level rates aggregated per fuzzer; `n/a` indicates the parser could not recover that metric from logs.
| Fuzzer | Runs | Tx/s runs | Tx/s p50 [p25,p75] | Gas/s runs | Gas/s p50 [p25,p75] |
|---|---|---|---|---|---|
| medusa | 2 | 2 | 10595.00 [10276.50,10913.50] | 2 | 20541055292.50 [19382508990.75,21699601594.25] |

## Progress metrics from logs (fuzzer-specific proxies)
Coverage/corpus/favored/failure-rate values are parsed from each fuzzer's native progress output and are useful for trend context, not strict cross-fuzzer equivalence.
| Fuzzer | Runs | Seq/s runs | Seq/s p50 [p25,p75] | Coverage runs | Coverage p50 [p25,p75] | Corpus runs | Corpus p50 [p25,p75] | Favored runs | Favored p50 [p25,p75] | Failure-rate runs | Failure-rate p50 [p25,p75] |
|---|---|---|---|---|---|---|---|---|---|---|---|
| medusa | 2 | 2 | 105.00 [102.00,108.00] | 2 | 2053.00 [2052.00,2054.00] | 2 | 74.00 [73.50,74.50] | 0 | n/a | 2 | 0.0% [0.0%,0.0%] |
| foundry | 2 | 0 | n/a | 2 | 459.50 [455.25,463.75] | 2 | 324.50 [320.75,328.25] | 2 | 0.00 [0.00,0.00] | 2 | 0.0% [0.0%,0.0%] |

## Shape-based interpretation (rules of thumb)
- **Fast-start / early-plateau**: high early checkpoint median + early plateau time + low late discovery share.
- **Steady**: moderate AUC, later plateau, consistent improvements across checkpoints, moderate variance.
- **Slow-burn / late-surge**: low early checkpoints but high late discovery share and later plateau time; often higher final median.

## Limitations
- Core metrics in this section are count-based; use `broken_invariants.md` / `broken_invariants.csv` for invariant identities.
- Severity, exploitability, and root-cause uniqueness cannot be measured directly without richer per-bug metadata.
- Harness design still affects results; mitigate by keeping harness identical across fuzzers and reporting many runs.
