Skip to content

Run gh-30029754277-1 ​

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)Corpus 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
foundry25 [5,5]5 [5,5]
medusa25 [5,5]5 [5,5]
recon-fuzzer25 [5,5]5 [5,5]
echidna25 [5,5]5 [5,5]

Overall metrics ​

FuzzerAUC (norm)Plateau timeLate discovery shareFinal medianFinal IQR
foundry1.0000.00h0.00050.00
medusa0.9970.10h0.00050.00
recon-fuzzer0.9880.10h0.00050.00
echidna0.9750.10h0.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
foundry0.00h0.00h0.00h100.0%100.0%100.0%
medusa0.00h0.00h0.05h100.0%100.0%100.0%
recon-fuzzer0.00h0.05h0.10h100.0%100.0%100.0%
echidna0.10h0.10h0.10h100.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]
foundry2222120.16 [21799.63,22440.69]21027749464112.62 [1027232226767.94,1028266701457.30]
medusa226239.00 [6092.00,6386.00]211775803982.00 [11753693057.00,11797914907.00]
recon-fuzzer2240579.00 [40231.00,40927.00]258059772237.00 [56117558280.00,60001986194.00]
echidna222073.12 [1959.87,2186.36]23509187166.00 [3236779049.50,3781595282.50]

Progress metrics from logs (fuzzer-specific proxies) ​

Sequence-rate and corpus values are parsed from native progress output and are useful for within-tool trend context.

FuzzerRunsSeq/s runsSeq/s p50 [p25,p75]Corpus runsCorpus p50 [p25,p75]
foundry20n/a20.00 [0.00,0.00]
medusa2261.50 [59.75,63.25]283.50 [82.25,84.75]
recon-fuzzer20n/a238.00 [37.00,39.00]
echidna20n/a243.00 [42.50,43.50]

Function selector sanity checks ​

Counts are occurrences in unique saved corpus sequences, not runtime execution frequencies The complete per-instance distribution is in selector_distribution.csv; selector_summary.json preserves statuses and provenance.

  • Expected-set status: available (16 selector(s))
  • Expected-set provenance: peer-consensus heuristic: observed in every available corpus for at least two independent evidence families (Echidna and Recon count as one related typed-corpus family); not benchmark ground truth
FuzzerStatusInstances with telemetrySaved-corpus callsUnique selectors
echidnaavailable2/2850434
foundryunavailable0/200
medusaavailable2/2619236
recon-fuzzeravailable2/2750124
Most common saved-corpus selectors ​
FuzzerSelectorFunctionCallsShare
echidna0x2cf9b2e4governance_allocateLQTY_clamped_single_initiative(uint8,uint96,uint96)4395.16%
echidna0x4c91b4f4helper_accrueBold(uint88)4094.81%
echidna0xf24a44c9assert_canary_ASSERTION_CANARY(uint256)3984.68%
echidna0x88f4edb2governance_allocateLQTY(int88[],int88[])3924.61%
echidna0x1a042ae7invariant_canary()3894.57%
echidna0x269ab1e0invariant_BI04()3864.54%
echidna0x76fda467governance_registerInitiative(uint8)3794.46%
echidna0xccdcad1dgovernance_deployUserProxy()3794.46%
echidna0x294164eainvariant_BI05()3784.44%
echidna0x69dc493einitiative_depositBribe(uint128,uint128,uint16,uint8)3774.43%
medusa0x2cf9b2e4governance_allocateLQTY_clamped_single_initiative(uint8,uint96,uint96)4957.99%
medusa0xf24a44c9assert_canary_ASSERTION_CANARY(uint256)4216.80%
medusa0x4c91b4f4helper_accrueBold(uint88)4136.67%
medusa0x76fda467governance_registerInitiative(uint8)4136.67%
medusa0xddc3e5afgovernance_claimForInitiative(uint8)4056.54%
medusa0xf8128e4agovernance_unregisterInitiative(uint8)3856.22%
medusa0x88f4edb2governance_allocateLQTY(int88[],int88[])3836.19%
medusa0x69dc493einitiative_depositBribe(uint128,uint128,uint16,uint8)3786.10%
medusa0x3cc21b5dgovernance_depositLQTYViaPermit(uint88)3776.09%
medusa0xcb594f39governance_snapshotVotesForInitiative(address)3746.04%
recon-fuzzer0x69dc493einitiative_depositBribe(uint128,uint128,uint16,uint8)4235.64%
recon-fuzzer0x95db52ccgovernance_depositLQTY(uint88)3905.20%
recon-fuzzer0x269ab1e0invariant_BI04()3564.75%
recon-fuzzer0x88f4edb2governance_allocateLQTY(int88[],int88[])3524.69%
recon-fuzzer0xddc3e5afgovernance_claimForInitiative(uint8)3464.61%
recon-fuzzer0xccdcad1dgovernance_deployUserProxy()3324.43%
recon-fuzzer0x660e6b6einvariant_GV01()3254.33%
recon-fuzzer0x3cc21b5dgovernance_depositLQTYViaPermit(uint88)3234.31%
recon-fuzzer0xf6ec13ecinvariant_BI03()3224.29%
recon-fuzzer0x1a042ae7invariant_canary()3164.21%
Selector telemetry limitations ​
  • i-0500daeab0d17c867-foundry-git-02c05d9: Foundry selector distribution is unavailable because no persisted corpus was present; failure-event selectors are intentionally not used as a distribution
  • i-07ef2c5a93e46e238-foundry-git-02c05d9: Foundry selector distribution is unavailable because no persisted corpus was present; failure-event selectors are intentionally not used as a distribution

Statistical comparison (Mann-Whitney U and Vargha-Delaney A12) ​

Pairwise Mann-Whitney U tests and Vargha-Delaney A12 effect sizes on end-of-budget bug counts. The tests are two-sided, with 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 statisticA12 (A over B)Effect magnitudep-valuep (corrected)Significant
foundrymedusa552.00.500negligible1.00001.0000no
foundryrecon-fuzzer552.00.500negligible1.00001.0000no
foundryechidna552.00.500negligible1.00001.0000no
medusarecon-fuzzer552.00.500negligible1.00001.0000no
medusaechidna552.00.500negligible1.00001.0000no
recon-fuzzerechidna552.00.500negligible1.00001.0000no

No pairwise comparison reached significance after Bonferroni correction.

Note: A12 is the probability that a randomly selected Fuzzer A run has a higher final bug count than a randomly selected Fuzzer B run, counting ties as half. Values above 0.5 favor A, values below 0.5 favor B, and 0.5 means equal tendency. Magnitude thresholds by distance from 0.5 are negligible (<0.06), small (<0.14), medium (<0.21), and large (>=0.21). Small sample sizes (fewer than 5 runs) reduce statistical power. A12 and its magnitude label are descriptive; the thresholds are rules of thumb. Neither the effect size nor statistical significance establishes practical importance, causation, or performance beyond the observed runs.

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 count-based charts use normalized event identities stored under the legacy bugs_found column. They do not count crash inputs, but they are not confirmed root-cause bug counts.
  • Use known_bug_report.md, known_bug_summary.csv, and known_bug_findings.csv for evidence-backed known-bug hit rates; use broken_invariants.md / broken_invariants.csv for raw 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: 40 / 40
  • Unique invariants: 5

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
echidna5
foundry5
medusa5
recon-fuzzer5

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

Grouped invariants ​

Exclusive to echidna (0)

None.

Exclusive to foundry (0)

None.

Exclusive to medusa (0)

None.

Exclusive to recon-fuzzer (0)

None.

Shared by all active fuzzers (5)
  • assert_canary
  • invariant_BI03
  • invariant_BI04
  • invariant_GV01
  • invariant_canary

Ground-truth known-bug mapping ​

  • Target: liquity-v2-governance
  • Evidence-pinned commit: 5610870e7e91fe6e29f8cfb0c0ae316fe9784e10
  • Resolution: matched run repository and commit
  • Catalog: benchmarks/known_bugs.json

Only the two instrumented health-check canaries are mapped. Other property failures remain unmapped until a reviewed root-cause record ties them to a confirmed bug.

Canaries are reported separately as harness-health checks and are never included in the known-bug hit-rate denominator.

Per-fuzzer results ​

FuzzerReplicatesKnown-bug replicate hitsCatalog coverageCanary replicate hitsUnmapped event findings
echidna2n/an/a4/4 (100.0%)6
foundry2n/an/a4/4 (100.0%)6
medusa2n/an/a4/4 (100.0%)6
recon-fuzzer2n/an/a4/4 (100.0%)6

Known-bug catalog ​

Ground-truth IDKindTitleEvidence
None cataloged

Unmapped event identities ​

FuzzerEvent identityReplicates observed
echidnainvariant_BI032
echidnainvariant_BI042
echidnainvariant_GV012
foundryinvariant_BI032
foundryinvariant_BI042
foundryinvariant_GV012
medusainvariant_BI032
medusainvariant_BI042
medusainvariant_GV012
recon-fuzzerinvariant_BI032
recon-fuzzerinvariant_BI042
recon-fuzzerinvariant_GV012

Counting semantics ​

  • A canonical known-bug ID counts at most once per replicate, even when several event aliases or counterexamples reach it.
  • A replicate is identified by (run_id, instance_id, fuzzer).
  • Known-bug hit rate is canonical bug/replicate hits ÷ (cataloged bugs × replicates).
  • Unmapped rows are distinct normalized event identities per replicate. They are triage candidates, not claimed bugs.
  • Crash inputs and corpus files are not used as bug identities.

Runner resource usage ​

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

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 (%)
echidna297.5798.7619.2619.8762.8664.84
foundry299.68100.001.011.413.314.61
medusa297.8798.771.251.914.096.24
recon-fuzzer299.59100.009.8718.4632.2160.23

Instance stats ​

InstanceFuzzerSamplesDuration (h)CPU active avg (%)CPU active peak (%)Memory avg (GiB)Memory peak (GiB)Memory avg (%)Memory peak (%)
i-003545b0037183b40-echidna-v2.3.2echidna27744.0097.6498.8019.2219.8962.7264.90
i-0827a0e75c5a91d29-echidna-v2.3.2echidna27804.0097.5198.7219.3019.8562.9964.78
i-0500daeab0d17c867-foundry-git-02c05d9foundry28023.9999.72100.001.021.353.314.41
i-07ef2c5a93e46e238-foundry-git-02c05d9foundry28034.0099.65100.001.011.473.314.80
i-0ca4fbf4c2093242f-medusa-v1.5.1medusa28074.0097.7998.681.242.024.056.60
i-0edf8f3e1a6ceecf5-medusa-v1.5.1medusa28074.0097.9598.861.271.804.135.88
i-033ae747e89a65162-recon-v0.4.18recon-fuzzer28024.0099.58100.0010.1318.4933.0660.33
i-0a43adfab39541891-recon-v0.4.18recon-fuzzer28034.0099.60100.009.6118.4331.3660.14

Manifest ​

  • scfuzzbench_commit: 00775ce0bd3a33b7bf8e9ff213e2e7c235163220
  • target_repo_url: https://github.com/scfuzzbench/liquity-V2-gov-scfuzzbench
  • target_commit: 5610870e7e91fe6e29f8cfb0c0ae316fe9784e10
  • 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: 1.7.2-dev
  • foundry_git_repo: https://github.com/foundry-rs/foundry
  • foundry_git_ref: 02c05d970d2801da0aef8b82486ce84b01ede36d
  • foundry_source_patch: scfuzzbench-throughput-progress-v1@sha256:2ee9e69b77c8007c78c816eb9ca791684aa5ecede0651b63f86cdd2e055eb17e
  • echidna_version: 2.3.2
  • medusa_version: 1.5.1
  • recon_version: 0.4.18
  • fuzzer_keys: echidna, foundry, medusa, recon-fuzzer

Artifacts ​

Fully static. Generated in CI from S3 run artifacts.