Skip to content

Run 1784192612 ​

Trial run

Warning — trial run. This benchmark was executed with fewer than 10 instances per fuzzer and/or a time budget shorter than 24h. Results from trial runs are meant for debugging purposes and are not valid for extracting conclusions across different fuzzers.

Charts ​

Bugs Over TimeTime To KFinal DistributionPlateau And Late ShareInvariant Overlap (UpSet)Coverage Over TimeCorpus Size Over TimeSeq/s Over TimeTx/s Over TimeGas/s Over TimeCPU Usage Over TimeMemory Usage Over Time

Report ​

Fuzzer Benchmark Report (from bug-count CSV) ​

  • Time budget: 4.00h

Warning — trial run. This benchmark was executed with fewer than 10 instances per fuzzer and/or a time budget shorter than 24h. Results from trial runs are meant for debugging purposes and are not valid for extracting conclusions across different fuzzers.

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]) ​

FuzzerRuns1h4h
medusa25 [5,5]12 [11,13]
recon-fuzzer25 [4,6]6 [6,6]
echidna24 [4,5]6 [6,6]
foundry24 [4,4]4 [4,4]

Overall metrics ​

FuzzerAUC (norm)Plateau timeLate discovery shareFinal medianFinal IQR
medusa0.5143.70h0.458122.00
recon-fuzzer0.3811.70h0.00060.00
echidna0.3323.70h0.25061.00
foundry0.2790.10h0.00040.00

Milestones: time-to-k and success rates ​

Fuzzertime-to-1 (p50)time-to-3 (p50)time-to-5 (p50)reach-1 ratereach-3 ratereach-5 rate
medusa0.10h0.10h0.10h100.0%100.0%100.0%
recon-fuzzer0.00h0.10h1.15h100.0%100.0%100.0%
echidna0.10h0.10h1.65h100.0%100.0%100.0%
foundry0.10h0.10hinf100.0%100.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.

FuzzerRunsTx/s runsTx/s p50 [p25,p75]Gas/s runsGas/s p50 [p25,p75]
medusa221502.00 [1472.00,1532.00]2338167089.00 [328479376.50,347854801.50]
recon-fuzzer224446.19 [4439.80,4452.58]232140956.00 [31590004.50,32691907.50]
echidna222802.18 [2768.90,2835.47]226459786306.50 [26212186382.25,26707386230.75]

Progress metrics from logs (fuzzer-specific proxies) ​

Coverage/corpus values are parsed from each fuzzer's native progress output and are useful for trend context, not strict cross-fuzzer equivalence.

FuzzerRunsSeq/s runsSeq/s p50 [p25,p75]Coverage runsCoverage p50 [p25,p75]Corpus runsCorpus p50 [p25,p75]
medusa2214.50 [14.25,14.75]212478.00 [12457.50,12498.50]2570.50 [566.75,574.25]
recon-fuzzer20n/a2144978.50 [144525.25,145431.75]2593.00 [592.50,593.50]
echidna20n/a2139405.00 [138986.00,139824.00]2553.50 [549.75,557.25]

Statistical comparison (Mann-Whitney U test) ​

Pairwise Mann-Whitney U tests on end-of-budget bug counts (two-sided). Bonferroni correction applied for 6 comparison(s). Significance level: alpha = 0.05.

Warnings:

  • One or more fuzzers have fewer than 5 runs. Statistical power may be limited.
Fuzzer AFuzzer BMedian AMedian BU statisticp-valuep (corrected)Significant
medusarecon-fuzzer1264.00.22071.0000no
medusaechidna1264.00.33331.0000no
medusafoundry1244.00.22071.0000no
recon-fuzzerechidna662.01.00001.0000no
recon-fuzzerfoundry644.00.19391.0000no
echidnafoundry644.00.22071.0000no

No pairwise comparison reached significance after Bonferroni correction.

Note: The Mann-Whitney U test assesses whether one fuzzer tends to find more bugs than another across runs. It does not measure effect size or practical importance. Small sample sizes (fewer than 5 runs) reduce statistical power.

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.

Broken invariants ​

  • Budget filter: 4.00h
  • Events considered: 56 / 56
  • Unique invariants: 15

Warning — trial run. This benchmark was executed with fewer than 10 instances per fuzzer and/or a time budget shorter than 24h. Results from trial runs are meant for debugging purposes and are not valid for extracting conclusions across different fuzzers.

Per-fuzzer totals ​

FuzzerInvariants
echidna7
foundry4
medusa15
recon-fuzzer6

High-level overlap ​

  • Shared by all active fuzzers: 3
  • Exclusive to echidna: 0
  • Exclusive to foundry: 0
  • Exclusive to medusa: 5
  • Exclusive to recon-fuzzer: 0

Grouped invariants ​

Exclusive to echidna (0)

None.

Exclusive to foundry (0)

None.

Exclusive to medusa (5)
  • doomsday_maxRedeemResetsAfterFullRedemption
  • global_erc7540_7_redeem
  • global_erc7540_7_withdraw
  • invariant_accumulatorCostBasisIncrease
  • invariant_fulfillOnlyBurnsRequestedAmount
Exclusive to recon-fuzzer (0)

None.

Shared by all active fuzzers (3)
  • assert_canary
  • doomsday_mintRedeemSymmetrical
  • invariant_canary

Top shared subsets (top 4 by size):

echidna, medusa (3)
  • doomsday_depositWithdrawSymmetrical
  • invariant_accumulatorSharesDecreaseOnFulfill_exact
  • invariant_sumOfClaimable
medusa, recon-fuzzer (2)
  • global_comparePreviewMintAndConvertToAssets
  • global_previewEquivalenceFromAssets
echidna, medusa, recon-fuzzer (1)
  • global_previewEquivalenceFromShares
foundry, medusa (1)
  • invariant_maxRedeemMaxWithdrawSymmetry

Runner resource usage ​

  • Budget filter: 4.00h
  • Instances with metrics: 8
  • Total samples: 22872

Per-fuzzer medians (across instances) ​

FuzzerInstancesCPU active avg (%)CPU active peak (%)Memory used avg (GiB)Memory used peak (GiB)Memory used avg (%)Memory used peak (%)
echidna293.1597.0013.7814.9944.9648.90
foundry26.2814.841.222.643.988.63
medusa298.1399.882.654.378.6614.25
recon-fuzzer296.30100.003.415.7011.1318.60

Instance stats ​

InstanceFuzzerSamplesDuration (h)CPU active avg (%)CPU active peak (%)Memory avg (GiB)Memory peak (GiB)Memory avg (%)Memory peak (%)
i-01b070c986f4e1de0-echidna-v2.3.1echidna28544.0093.0196.9813.4014.5443.7347.45
i-0b3b807a4c64d1088-echidna-v2.3.1echidna28534.0093.2997.0114.1515.4346.1950.35
i-017c93d3c35fdd339-foundry-git-7254e01foundry28714.006.2818.181.202.653.918.66
i-0c8bb1b52fa14f1b0-foundry-git-7254e01foundry28714.006.2811.501.242.634.058.59
i-003b500eab665532f-medusa-v1.4.1medusa28564.0098.1499.882.614.118.5213.42
i-0169fbb1f2804c6f7-medusa-v1.4.1medusa28564.0098.1399.882.704.628.8015.09
i-00d228b46ce63da87-recon-v0.4.6recon-fuzzer28554.0096.86100.003.093.7810.0712.33
i-056015c73b51cef02-recon-v0.4.6recon-fuzzer28564.0095.75100.003.747.6212.2024.86

Manifest ​

  • scfuzzbench_commit: 3ea47a58c13bdfac9f7021cc1253da5e15795314
  • target_repo_url: https://github.com/scfuzzbench/superform-v2-periphery-scfuzzbench
  • target_commit: 4d56ecd0efe4bd63c95ef92c14d48135838fbb10
  • benchmark_type: property
  • instance_type: c6a.4xlarge
  • instances_per_fuzzer: 2
  • timeout_hours: 4
  • aws_region: us-east-1
  • ubuntu_ami_id: ami-052355af2a014bd2c
  • foundry_version: v1.7.1
  • foundry_git_repo: https://github.com/foundry-rs/foundry
  • foundry_git_ref: 7254e0107a696d72b40eea3bbb04d67e7bd1b847
  • echidna_version: 2.3.1
  • medusa_version: 1.4.1
  • recon_version: 0.4.6
  • fuzzer_keys: echidna, foundry, medusa, recon-fuzzer

Artifacts ​

Fully static. Generated in CI from S3 run artifacts.