Skip to content

Run 1776361474 ​

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

FuzzerRuns1h
recon-fuzzer210 [9,10]
echidna210 [9,10]
medusa26 [6,7]
foundry21 [1,1]

Overall metrics ​

FuzzerAUC (norm)Plateau timeLate discovery shareFinal medianFinal IQR
recon-fuzzer0.6680.90h0.105101.50
echidna0.6500.80h0.158100.50
medusa0.4550.60h0.15460.50
foundry0.0910.00h0.00010.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.10h100.0%100.0%100.0%
medusa0.10h0.10h0.30h100.0%100.0%100.0%
foundry0.00hinfinf100.0%0.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]
recon-fuzzer226646.06 [6552.20,6739.91]237539664.00 [32285443.00,42793885.00]
echidna221708.05 [1686.16,1729.95]219506900443.00 [16243419797.00,22770381089.00]
medusa221241.00 [1228.50,1253.50]2153266984.50 [150485939.75,156048029.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]
recon-fuzzer20n/a272230.00 [72193.50,72266.50]284.00 [83.00,85.00]
echidna20n/a278037.00 [77105.50,78968.50]2122.50 [120.25,124.75]
medusa2211.00 [11.00,11.00]24932.50 [4833.75,5031.25]2196.50 [195.75,197.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
recon-fuzzerechidna9.59.52.01.00001.0000no
recon-fuzzermedusa9.56.54.00.33331.0000no
recon-fuzzerfoundry9.514.00.22071.0000no
echidnamedusa9.56.54.00.33331.0000no
echidnafoundry9.514.00.22071.0000no
medusafoundry6.514.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: 1.00h
  • Events considered: 53 / 53
  • 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
echidna10
foundry1
medusa7
recon-fuzzer11

High-level overlap ​

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

Grouped invariants ​

Exclusive to echidna (0)

None.

Exclusive to foundry (1)
  • CryticToFoundry
Exclusive to medusa (0)

None.

Exclusive to recon-fuzzer (1)
  • invariant_totalBorrowedLessThanSupplied_v2
Shared by all active fuzzers (0)

None.

Top shared subsets (top 2 by size):

echidna, medusa, recon-fuzzer (7)
  • assert_canary
  • iHub_mintFeeShares
  • iSpoke_withdraw
  • invariant_canary
  • invariant_shouldNotBecomeLiquidatable
  • invariant_totalBorrowedLessThanSupplied_v0
  • invariant_totalBorrowedLessThanSupplied_v1
echidna, recon-fuzzer (3)
  • iSpoke_liquidationCall
  • iSpoke_repay
  • invariant_supplySharePriceAndDrawnIndexMonotonic

Runner resource usage ​

  • Budget filter: 1.00h
  • Instances with metrics: 8
  • Total samples: 4334

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 (%)
echidna292.0398.4718.1519.1959.2362.62
foundry26.9021.592.923.809.5312.42
medusa294.0899.832.223.767.2512.26
recon-fuzzer282.90100.002.085.476.7717.86

Instance stats ​

InstanceFuzzerSamplesDuration (h)CPU active avg (%)CPU active peak (%)Memory avg (GiB)Memory peak (GiB)Memory avg (%)Memory peak (%)
i-04120b6dbfc9b11fb-echidna-v2.3.1echidna7131.0092.1098.4218.1319.1859.1662.60
i-08a32c8de9ea21327-echidna-v2.3.1echidna7131.0091.9698.5118.1719.2059.2962.65
i-066fd85901c84c7bf-foundry-git-cc6767afoundry250.036.7718.182.993.939.7512.83
i-09c3d420830eeceff-foundry-git-cc6767afoundry250.037.0325.002.853.689.3112.00
i-07a0f63002a6f9113-medusa-v1.4.1medusa7141.0094.0999.842.403.877.8312.62
i-09adbf0a2286a7614-medusa-v1.4.1medusa7141.0094.0899.812.043.656.6711.90
i-0394eb9de3d45959f-recon-v0.4.6recon-fuzzer7151.0083.72100.002.085.446.7917.76
i-0af8073e098e78d33-recon-v0.4.6recon-fuzzer7151.0082.07100.002.075.506.7617.95

Manifest ​

  • scfuzzbench_commit: 87a3803a6de0ac22dae1803ff3b5ef8937252259
  • target_repo_url: https://github.com/Recon-Fuzz/aave-v4-scfuzzbench
  • target_commit: v0.5.6-recon
  • benchmark_type: property
  • instance_type: c6a.4xlarge
  • instances_per_fuzzer: 2
  • timeout_hours: 1
  • 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, foundry, medusa, recon-fuzzer

Artifacts ​

Fully static. Generated in CI from S3 run artifacts.