Skip to content

Run 1784120285 ​

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
echidna215 [15,15]16 [15,16]
medusa215 [15,15]15 [15,15]
recon-fuzzer214 [14,15]15 [15,15]
foundry26 [3,10]14 [13,14]

Overall metrics ​

FuzzerAUC (norm)Plateau timeLate discovery shareFinal medianFinal IQR
echidna0.9291.20h0.000160.50
medusa0.9130.40h0.000150.00
recon-fuzzer0.8972.60h0.033150.00
foundry0.5162.90h0.519140.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
echidna0.10h0.10h0.10h100.0%100.0%100.0%
medusa0.00h0.10h0.10h100.0%100.0%100.0%
recon-fuzzer0.00h0.10h0.10h100.0%100.0%100.0%
foundry1.50h1.50h1.50h100.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]
echidna2211176.05 [11152.61,11199.49]293950765772.00 [93834155523.50,94067376020.50]
medusa2249430.00 [48905.50,49954.50]22571752955.50 [2556254431.25,2587251479.75]
recon-fuzzer222136.42 [2116.96,2155.87]23289521.50 [3250758.75,3328284.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]
echidna20n/a215380.00 [15377.50,15382.50]230.00 [29.50,30.50]
medusa22494.00 [489.00,499.00]21546.00 [1546.00,1546.00]2154.50 [153.75,155.25]
recon-fuzzer20n/a216466.00 [16466.00,16466.00]227.50 [26.75,28.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
echidnamedusa15.5153.00.61711.0000no
echidnarecon-fuzzer15.5153.00.61711.0000no
echidnafoundry15.513.54.00.33331.0000no
medusarecon-fuzzer15152.01.00001.0000no
medusafoundry1513.54.00.22071.0000no
recon-fuzzerfoundry1513.54.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: 118 / 118
  • Unique invariants: 16

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
echidna16
foundry14
medusa15
recon-fuzzer15

High-level overlap ​

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

Grouped invariants ​

Exclusive to echidna (1)
  • AssertionFailed
Exclusive to foundry (0)

None.

Exclusive to medusa (0)

None.

Exclusive to recon-fuzzer (0)

None.

Shared by all active fuzzers (14)
  • assert_canary
  • invariant_canary
  • testBurnBalance
  • testChangeSupply
  • testMintBalanceRounding
  • testOptInBalance
  • testOptInBalanceRounding
  • testRebasingCreditsPerTokenNotIncreased
  • testTotalSupplyLessThanTotalBalance
  • testTransferBalanceReceivedLessRounding
  • testTransferBalanceReceivedMore
  • testTransferBalanceSentLess
  • testTransferSelf
  • testTransferWithinBalanceDoesNotRevert

Top shared subsets (top 1 by size):

echidna, medusa, recon-fuzzer (1)
  • testTransferFromShouldNotRevert

Runner resource usage ​

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

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 (%)
echidna284.9198.4424.0228.6578.3793.48
foundry26.2819.090.941.263.064.10
medusa286.4189.201.051.323.434.31
recon-fuzzer299.74100.001.631.855.326.04

Instance stats ​

InstanceFuzzerSamplesDuration (h)CPU active avg (%)CPU active peak (%)Memory avg (GiB)Memory peak (GiB)Memory avg (%)Memory peak (%)
i-053e150df9b84c5e8-echidna-v2.3.1echidna13452.0785.0499.4424.3028.7279.3193.70
i-0bc5bdc4da0af5f8d-echidna-v2.3.1echidna14842.0884.7797.4523.7328.5877.4493.26
i-0b89d7a677dbf7e29-foundry-git-7254e01foundry28603.986.2820.000.941.293.064.21
i-0f6ac26648a325e2b-foundry-git-7254e01foundry28603.986.2818.180.941.223.053.99
i-05f2db2fdcc839e72-medusa-v1.4.1medusa28664.0086.3890.041.061.253.474.09
i-0a63ca907e3e8bffb-medusa-v1.4.1medusa28664.0086.4488.371.041.393.394.54
i-0dad8c7dc61cb3ef1-recon-v0.4.6recon-fuzzer28544.0099.75100.001.621.855.286.02
i-0ef67c737aab4597b-recon-v0.4.6recon-fuzzer28544.0099.73100.001.651.865.376.07

Manifest ​

  • scfuzzbench_commit: 3ea47a58c13bdfac9f7021cc1253da5e15795314
  • target_repo_url: https://github.com/scfuzzbench/origin-dollar-scfuzzbench
  • target_commit: 299ec6b6bf5401b43efc3e9f7ee5cab3e76167c4
  • 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.