Skip to content

Run 1784071841 ​

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
recon-fuzzer29 [8,10]11 [10,12]
echidna28 [7,8]10 [9,10]
medusa25 [5,5]8 [7,8]
foundry25 [5,5]5 [5,5]

Overall metrics ​

FuzzerAUC (norm)Plateau timeLate discovery shareFinal medianFinal IQR
recon-fuzzer0.7983.30h0.091111.00
echidna0.6922.50h0.053101.50
medusa0.4933.00h0.20080.50
foundry0.3780.50h0.00050.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
recon-fuzzer0.00h0.10h0.10h100.0%100.0%100.0%
echidna0.10h0.10h0.15h100.0%100.0%100.0%
medusa0.10h0.10h0.45h100.0%100.0%100.0%
foundry0.25h0.45h0.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]
recon-fuzzer223591.64 [3578.65,3604.63]215303201.00 [14348779.00,16257623.00]
echidna221987.74 [1964.68,2010.81]210206200582.50 [5103100291.25,15309300873.75]
medusa221328.50 [1300.75,1356.25]2162956144.00 [158154177.50,167758110.50]

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]
recon-fuzzer20n/a272344.00 [72320.50,72367.50]288.50 [87.25,89.75]
echidna20n/a2120880.50 [112103.25,129657.75]2257.50 [229.25,285.75]
medusa2214.00 [14.00,14.00]25101.00 [5069.00,5133.00]2203.50 [202.25,204.75]

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
recon-fuzzerechidna119.53.00.66671.0000no
recon-fuzzermedusa117.54.00.33331.0000no
recon-fuzzerfoundry1154.00.22071.0000no
echidnamedusa9.57.53.50.41421.0000no
echidnafoundry9.554.00.22071.0000no
medusafoundry7.554.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: 66 / 66
  • Unique invariants: 12

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
echidna11
foundry5
medusa8
recon-fuzzer12

High-level overlap ​

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

Grouped invariants ​

Exclusive to echidna (0)

None.

Exclusive to foundry (0)

None.

Exclusive to medusa (0)

None.

Exclusive to recon-fuzzer (1)
  • iSpoke_supply
Shared by all active fuzzers (5)
  • assert_canary
  • iHub_mintFeeShares
  • invariant_canary
  • invariant_shouldNotBecomeLiquidatable
  • invariant_totalBorrowedLessThanSupplied_v0

Top shared subsets (top 2 by size):

echidna, medusa, recon-fuzzer (3)
  • iSpoke_withdraw
  • invariant_totalBorrowedLessThanSupplied_v1
  • invariant_totalBorrowedLessThanSupplied_v2
echidna, recon-fuzzer (3)
  • iSpoke_liquidationCall
  • iSpoke_repay
  • invariant_supplySharePriceAndDrawnIndexMonotonic

Runner resource usage ​

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

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 (%)
echidna295.5998.3118.9819.3661.9463.19
foundry26.2821.591.103.923.6112.78
medusa298.1999.751.783.665.8211.96
recon-fuzzer295.41100.002.354.517.6814.70

Instance stats ​

InstanceFuzzerSamplesDuration (h)CPU active avg (%)CPU active peak (%)Memory avg (GiB)Memory peak (GiB)Memory avg (%)Memory peak (%)
i-0364945d1ec8f9756-echidna-v2.3.1echidna28504.0095.4798.3018.9819.3461.9463.10
i-03dcc058aa15cc2d6-echidna-v2.3.1echidna28494.0095.7098.3318.9819.3961.9363.28
i-034577472ee32f8f6-foundry-git-7254e01foundry28714.006.2818.181.113.703.6112.08
i-0f150ea2901066ce0-foundry-git-7254e01foundry28714.006.2825.001.104.133.6013.48
i-071f6b1b678870410-medusa-v1.4.1medusa28554.0098.2199.761.793.665.8311.95
i-0ea998fb71c2924ac-medusa-v1.4.1medusa28554.0098.1799.751.783.675.8111.97
i-03e78a951e81d5c69-recon-v0.4.6recon-fuzzer28534.0094.30100.002.364.457.6914.53
i-0cdb76ad4909a9d63-recon-v0.4.6recon-fuzzer28544.0096.52100.002.354.567.6814.87

Manifest ​

  • scfuzzbench_commit: 2b9d12e9edc95039bff9cfb5b746997f13d9f4f7
  • target_repo_url: https://github.com/scfuzzbench/aave-v4-scfuzzbench
  • target_commit: 459b020058f4a65d18eb1481083b75c766340124
  • 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.