Skip to content

Run 1777163969 ​

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
medusa46 [5,7]7 [6,7]8 [6,8]10 [9,10]
recon-fuzzer46 [6,6]6 [6,6]6 [6,7]6 [6,7]
echidna44 [4,4]4 [4,5]4 [4,6]6 [6,6]

Overall metrics ​

FuzzerAUC (norm)Plateau timeLate discovery shareFinal medianFinal IQR
medusa0.74113.70h0.105101.25
recon-fuzzer0.5728.00h0.00061.25
echidna0.46615.30h0.08360.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.30h100.0%100.0%100.0%
echidna0.10h0.10h7.45h100.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]
medusa441056.50 [1027.50,1139.75]4642470091.50 [625021738.50,674123624.00]
recon-fuzzer449858.21 [9645.44,10090.60]451535534.50 [40827885.50,65211969.00]
echidna442662.31 [2615.60,2744.25]47898918401.50 [0.00,17531101089.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]
medusa4410.00 [9.75,10.50]412459.00 [12446.50,12460.50]4603.50 [598.75,606.50]
recon-fuzzer40n/a4145390.00 [144557.25,146553.00]4626.00 [614.00,643.25]
echidna40n/a4139072.50 [138568.25,140204.25]4566.00 [549.75,581.75]

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-fuzzer9.56.516.00.02840.0853no
medusaechidna9.5616.00.02840.0853no
recon-fuzzerechidna6.5611.50.35291.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: 90 / 90
  • Unique invariants: 11

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
medusa11
recon-fuzzer8

High-level overlap ​

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

Grouped invariants ​

Exclusive to echidna (0)

None.

Exclusive to medusa (3)
  • invariant_accumulatorCostBasisIncrease
  • invariant_fulfillOnlyBurnsRequestedAmount
  • invariant_maxRedeemMaxWithdrawSymmetry
Exclusive to recon-fuzzer (0)

None.

Shared by all active fuzzers (8)
  • assert_canary
  • doomsday_depositWithdrawSymmetrical
  • doomsday_mintRedeemSymmetrical
  • global_comparePreviewMintAndConvertToAssets
  • global_previewEquivalenceFromAssets
  • global_previewEquivalenceFromShares
  • invariant_accumulatorSharesDecreaseOnFulfill_exact
  • invariant_canary

Runner resource usage ​

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

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.7997.0619.4524.3363.4779.40
medusa499.5799.963.114.5910.1614.98
recon-fuzzer495.89100.0015.8824.7151.8280.62

Instance stats ​

InstanceFuzzerSamplesDuration (h)CPU active avg (%)CPU active peak (%)Memory avg (GiB)Memory peak (GiB)Memory avg (%)Memory peak (%)
i-00ff57840c3df5a81-echidna-v2.3.1echidna1716624.0091.7696.9117.2922.4956.4373.38
i-02ab27e69697f92e5-echidna-v2.3.1echidna1717124.0090.8896.8718.8023.6161.3677.04
i-07432d57caa5b4a71-echidna-v2.3.1echidna1716624.0091.8197.2120.1025.0565.5981.75
i-0b5285db91741a20d-echidna-v2.3.1echidna1716024.0092.4797.2421.0126.6868.5587.06
i-03cec83b14bb2e808-medusa-v1.4.1medusa1713024.0099.5799.952.834.079.2513.29
i-0871e1a8540a416df-medusa-v1.4.1medusa1713324.0099.5999.963.114.6610.1515.19
i-09d0f7c34c09e5218-medusa-v1.4.1medusa1713524.0099.5799.963.425.1111.1516.66
i-0d0b0e6287bff5311-medusa-v1.4.1medusa1713424.0099.5599.943.124.5210.1714.77
i-0bedd605d1ef9e90e-recon-v0.4.8recon-fuzzer1715524.0095.98100.0016.9926.3855.4386.07
i-0da065b38f2a96ed0-recon-v0.4.8recon-fuzzer1715624.0095.60100.0015.6424.5251.0480.03
i-0e04e80196b6fef13-recon-v0.4.8recon-fuzzer1715524.0095.87100.0016.1224.8952.6081.21
i-0ebce3d4fe4ae95fd-recon-v0.4.8recon-fuzzer1715424.0095.90100.0015.5923.7350.8777.43

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.8
  • fuzzer_keys: echidna, medusa, recon-fuzzer

Artifacts ​

Fully static. Generated in CI from S3 run artifacts.