Skip to content

Run 1777070030 ​

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: 24.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]) ​

FuzzerRuns1h4h8h24h
medusa45 [5,6]7 [6,7]8 [7,10]8 [8,10]
recon-fuzzer46 [5,7]6 [6,8]8 [7,9]8 [7,10]
echidna44 [4,4]4 [4,4]6 [6,6]6 [6,6]

Overall metrics ​

FuzzerAUC (norm)Plateau timeLate discovery shareFinal medianFinal IQR
medusa0.51116.10h0.05982.75
recon-fuzzer0.50022.60h0.05983.50
echidna0.3656.90h0.00060.50

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.10h0.45h100.0%100.0%100.0%
echidna0.10h0.10h5.60h100.0%100.0%100.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]
medusa441360.50 [1346.75,1403.00]4616294184.50 [594767382.50,639771903.00]
recon-fuzzer441676.55 [1622.61,1724.42]47143226.50 [5916841.25,10543225.00]
echidna442705.09 [2684.86,2724.95]417642549943.50 [12984125564.25,21021583906.25]

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]
medusa4413.50 [13.00,14.25]412398.00 [12240.75,12598.00]4607.00 [603.50,611.00]
recon-fuzzer40n/a4147367.50 [145562.00,148920.75]4613.50 [589.00,636.50]
echidna40n/a4140512.50 [140135.75,141117.25]4583.00 [580.25,584.25]

Statistical comparison (Mann-Whitney U test) ​

Pairwise Mann-Whitney U tests on end-of-budget bug counts (two-sided). Bonferroni correction applied for 3 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-fuzzer8.58.59.50.77151.0000no
medusaechidna8.5614.50.07410.2223no
recon-fuzzerechidna8.5612.50.21860.6558no

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: 24.00h
  • Events considered: 99 / 99
  • Unique invariants: 17

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
echidna8
medusa15
recon-fuzzer11

High-level overlap ​

  • Shared by all active fuzzers: 7
  • Exclusive to echidna: 1
  • Exclusive to medusa: 5
  • Exclusive to recon-fuzzer: 1

Grouped invariants ​

Exclusive to echidna (1)
  • doomsday_maxWithdrawResetsAfterFullWithdrawal
Exclusive to medusa (5)
  • global_erc7540_7_redeem
  • global_erc7540_7_withdraw
  • invariant_accumulatorCostBasisIncrease
  • invariant_fulfillOnlyBurnsRequestedAmount
  • invariant_maxRedeemMaxWithdrawSymmetry
Exclusive to recon-fuzzer (1)
  • global_erc7540_4_redeem
Shared by all active fuzzers (7)
  • assert_canary
  • doomsday_depositWithdrawSymmetrical
  • doomsday_maxRedeemResetsAfterFullRedemption
  • doomsday_mintRedeemSymmetrical
  • global_previewEquivalenceFromShares
  • invariant_accumulatorSharesDecreaseOnFulfill_exact
  • invariant_canary

Top shared subsets (top 1 by size):

medusa, recon-fuzzer (3)
  • global_comparePreviewMintAndConvertToAssets
  • global_previewEquivalenceFromAssets
  • invariant_sumOfClaimable

Runner resource usage ​

  • Budget filter: 24.00h
  • Instances with metrics: 12
  • Total samples: 205714

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 (%)
echidna491.4096.9116.8421.6654.9370.69
medusa499.5499.943.054.489.9614.62
recon-fuzzer496.51100.004.606.3615.0020.76

Instance stats ​

InstanceFuzzerSamplesDuration (h)CPU active avg (%)CPU active peak (%)Memory avg (GiB)Memory peak (GiB)Memory avg (%)Memory peak (%)
i-063026c091d593ecb-echidna-v2.3.1echidna1716524.0091.3796.8216.7221.6954.5770.79
i-088da50155a203711-echidna-v2.3.1echidna1716624.0091.3796.8716.5721.0554.0868.68
i-0aa70383c859871da-echidna-v2.3.1echidna1716624.0091.4396.9416.9521.6355.3070.59
i-0d575084ef59ee8e6-echidna-v2.3.1echidna1716424.0092.0297.2719.9327.2665.0288.96
i-0037a6c7f4346e90c-medusa-v1.4.1medusa1713324.0099.5399.953.004.509.8014.68
i-0b11cca7a3af1936a-medusa-v1.4.1medusa1713824.0099.5699.943.104.4610.1314.57
i-0b5933241588c360f-medusa-v1.4.1medusa1713324.0099.5399.953.364.9810.9816.26
i-0bab05475e47dbc06-medusa-v1.4.1medusa1713824.0099.5599.932.984.449.7114.49
i-0284870d2e24e8b72-recon-v0.4.6recon-fuzzer1713324.0091.95100.004.706.2015.3520.23
i-035a5a255540bb653-recon-v0.4.6recon-fuzzer1712424.0099.35100.004.717.2215.3623.57
i-05636ad73254788b2-recon-v0.4.6recon-fuzzer1712524.0098.80100.004.496.1714.6620.13
i-07fd45b4a41084d0b-recon-v0.4.6recon-fuzzer1712924.0094.21100.004.496.5314.6521.29

Manifest ​

  • scfuzzbench_commit: 87a3803a6de0ac22dae1803ff3b5ef8937252259
  • target_repo_url: https://github.com/Recon-Fuzz/superform-v2-periphery-scfuzzbench
  • target_commit: dev-recon
  • benchmark_type: property
  • instance_type: c6a.4xlarge
  • instances_per_fuzzer: 4
  • timeout_hours: 24
  • aws_region: us-east-1
  • ubuntu_ami_id: ami-05cf1e9f73fbad2e2
  • foundry_version: v1.6.0-rc1
  • foundry_git_repo: https://github.com/aviggiano/foundry
  • foundry_git_ref: fail_on_assert
  • echidna_version: 2.3.1
  • medusa_version: 1.4.1
  • recon_version: 0.4.6
  • fuzzer_keys: echidna, medusa, recon-fuzzer

Artifacts ​

Fully static. Generated in CI from S3 run artifacts.