Skip to content

Run 1776816020 ​

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,5]8 [7,8]8 [7,8]8 [8,8]
recon-fuzzer45 [4,6]6 [6,6]6 [6,7]6 [6,7]
echidna44 [4,5]5 [5,5]6 [5,6]6 [6,7]

Overall metrics ​

FuzzerAUC (norm)Plateau timeLate discovery shareFinal medianFinal IQR
medusa0.76110.00h0.00080.50
recon-fuzzer0.6247.00h0.00061.75
echidna0.56416.80h0.15461.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.80h100.0%100.0%75.0%
echidna0.10h0.10h2.10h100.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]
medusa441099.50 [1024.50,1217.00]4670934626.00 [644023274.75,682801475.75]
recon-fuzzer441695.47 [1688.02,1698.93]46465634.00 [5751510.25,7560216.50]
echidna442541.48 [2436.30,2671.38]49335652702.00 [0.00,18908013337.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]
medusa4410.50 [10.00,11.50]412294.00 [12212.50,12365.75]4593.50 [585.50,602.00]
recon-fuzzer40n/a4144206.50 [144065.50,145407.00]4612.50 [602.00,627.50]
echidna40n/a4140390.50 [139884.75,140598.25]4576.50 [561.50,592.50]

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-fuzzer86.514.50.06500.1949no
medusaechidna86.514.50.06500.1949no
recon-fuzzerechidna6.56.57.51.00001.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: 24.00h
  • Events considered: 85 / 85
  • Unique invariants: 14

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
echidna9
medusa10
recon-fuzzer9

High-level overlap ​

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

Grouped invariants ​

Exclusive to echidna (3)
  • doomsday_fulfillDoesntOverRedeemMultipleActors
  • doomsday_maxRedeemResetsAfterFullRedemption
  • doomsday_maxWithdrawResetsAfterFullWithdrawal
Exclusive to medusa (2)
  • invariant_fulfillOnlyBurnsRequestedAmount
  • invariant_maxRedeemMaxWithdrawSymmetry
Exclusive to recon-fuzzer (0)

None.

Shared by all active fuzzers (5)
  • assert_canary
  • doomsday_mintRedeemSymmetrical
  • global_previewEquivalenceFromShares
  • invariant_accumulatorSharesDecreaseOnFulfill_exact
  • invariant_canary

Top shared subsets (top 2 by size):

medusa, recon-fuzzer (3)
  • global_comparePreviewMintAndConvertToAssets
  • global_previewEquivalenceFromAssets
  • invariant_accumulatorCostBasisIncrease
echidna, recon-fuzzer (1)
  • doomsday_depositWithdrawSymmetrical

Runner resource usage ​

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

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 (%)
echidna492.4297.2719.4124.9263.3581.33
medusa499.5399.963.124.5510.1714.84
recon-fuzzer499.14100.004.857.0915.8123.13

Instance stats ​

InstanceFuzzerSamplesDuration (h)CPU active avg (%)CPU active peak (%)Memory avg (GiB)Memory peak (GiB)Memory avg (%)Memory peak (%)
i-001bf964d68774e01-echidna-v2.3.1echidna1710624.0093.4097.8520.3826.3566.5185.98
i-012e8c638c3b2d2df-echidna-v2.3.1echidna1711324.0092.0296.9118.4423.5060.1876.69
i-08b448b010ed15401-echidna-v2.3.1echidna1710824.0092.8297.6222.0926.8472.0887.57
i-09842cbaaf49db034-echidna-v2.3.1echidna1712224.0091.0096.8117.5322.1257.2172.19
i-00726e8f2514a75d6-medusa-v1.4.1medusa1712424.0099.5599.973.184.6810.3815.26
i-049604d0dd3919153-medusa-v1.4.1medusa1712624.0099.4999.953.234.7510.5415.50
i-075ac34c61dc5946e-medusa-v1.4.1medusa1712724.0099.5499.953.054.429.9614.42
i-07f0cc79650be4d91-medusa-v1.4.1medusa1712324.0099.5399.972.964.339.6514.14
i-08a30fff44c26b535-recon-v0.4.6recon-fuzzer1712324.0099.26100.005.157.2016.8123.48
i-0a9757a7a91f817d7-recon-v0.4.6recon-fuzzer1712424.0098.16100.004.526.1414.7620.02
i-0e6507fc908bfd7d3-recon-v0.4.6recon-fuzzer1712424.0099.14100.004.547.0014.8122.86
i-0f980b111f2a7df0a-recon-v0.4.6recon-fuzzer1712524.0099.14100.005.327.1717.3623.41

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-009d9173b44d0482b
  • 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.