Skip to content

Run 1776376084 ​

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
recon-fuzzer410 [10,11]11 [11,11]11 [11,11]11 [11,11]
echidna48 [7,8]9 [9,9]9 [9,9]10 [10,10]
medusa47 [6,7]7 [7,8]10 [8,10]10 [10,10]

Overall metrics ​

FuzzerAUC (norm)Plateau timeLate discovery shareFinal medianFinal IQR
recon-fuzzer0.9911.50h0.000110.00
echidna0.82322.20h0.050100.50
medusa0.80020.80h0.050100.25

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.20h100.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-fuzzer441208.81 [1166.61,1229.15]44743059.00 [4671917.25,4902403.25]
echidna442045.72 [2033.47,2057.94]418317364438.50 [13413582036.50,22388935928.00]
medusa441288.50 [1231.00,1310.75]4171248686.50 [169593802.75,172491703.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]
recon-fuzzer40n/a472262.00 [72032.00,72311.25]484.50 [82.00,88.50]
echidna40n/a4586451.50 [526220.25,682570.00]41692.00 [1509.75,1986.75]
medusa4412.00 [11.00,13.00]45220.50 [5218.00,5221.25]4217.00 [215.50,217.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
recon-fuzzerechidna111014.00.06680.2003no
recon-fuzzermedusa111016.00.01770.0531no
echidnamedusa10109.50.73891.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: 123 / 123
  • 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
echidna11
medusa10
recon-fuzzer11

High-level overlap ​

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

Grouped invariants ​

Exclusive to echidna (0)

None.

Exclusive to medusa (0)

None.

Exclusive to recon-fuzzer (0)

None.

Shared by all active fuzzers (10)
  • assert_canary
  • iHub_mintFeeShares
  • iSpoke_liquidationCall
  • iSpoke_repay
  • iSpoke_withdraw
  • invariant_canary
  • invariant_shouldNotBecomeLiquidatable
  • invariant_totalBorrowedLessThanSupplied_v0
  • invariant_totalBorrowedLessThanSupplied_v1
  • invariant_totalBorrowedLessThanSupplied_v2

Top shared subsets (top 1 by size):

echidna, recon-fuzzer (1)
  • invariant_supplySharePriceAndDrawnIndexMonotonic

Runner resource usage ​

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

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 (%)
echidna496.0198.4119.6920.5964.2767.20
medusa499.4999.882.763.699.0212.05
recon-fuzzer499.15100.002.985.839.7119.02

Instance stats ​

InstanceFuzzerSamplesDuration (h)CPU active avg (%)CPU active peak (%)Memory avg (GiB)Memory peak (GiB)Memory avg (%)Memory peak (%)
i-07c8e11a9658fb609-echidna-v2.3.1echidna1710724.0095.8498.4719.7220.5664.3567.09
i-0a411de00ee2df2ef-echidna-v2.3.1echidna1709924.0095.9698.3519.6620.5464.1567.02
i-0af8d5a0c24e317a5-echidna-v2.3.1echidna1709624.0096.0698.2819.6720.6364.1867.30
i-0f9f0a7421dc38911-echidna-v2.3.1echidna1709524.0096.2898.5019.7620.6964.4867.50
i-03067723e06c4a1eb-medusa-v1.4.1medusa1712224.0099.4899.882.713.738.8412.16
i-07ae29927b2dff5a0-medusa-v1.4.1medusa1712424.0099.4999.883.073.8310.0212.49
i-0951dba4b20885dcc-medusa-v1.4.1medusa1712424.0099.4999.882.823.669.1911.94
i-0ec79b7df368d753e-medusa-v1.4.1medusa1712424.0099.4299.792.033.656.6211.92
i-019176cc7db5383a3-recon-v0.4.6recon-fuzzer1712124.0099.13100.003.136.0510.2119.73
i-02dbd8b5b3880d42a-recon-v0.4.6recon-fuzzer1712124.0099.16100.002.935.629.5518.35
i-07b33d40a8a299cf3-recon-v0.4.6recon-fuzzer1712124.0099.21100.002.965.639.6618.37
i-0ceea64b53c92ec02-recon-v0.4.6recon-fuzzer1712024.0099.01100.002.996.039.7619.67

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: 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.