[Dev Fund] daml-fuzz — property-based fuzzing for Daml (working PoC, 8/8 mutation score) — seeking a Daml Tooling SIG champion
grants-discuss0 messages
- Hi all,I've built a working proof of concept for daml-fuzz — a property-based fuzzerfor Daml/Canton contracts. You declare the rules a contract must never break("value is conserved", "only the owner can act", "Eve can never see this"), andit fires randomized multi-party transaction sequences until it finds one thatbreaks a rule — then prints the exact recipe to reproduce it.Why it's worth funding: Canton has coverage (DamlCov #323) and formal-verification proposals (#12), but nothing that generates adversarial inputs.And it's the only approach that can test Canton's unique risk surface —multi-party authorization and privacy/disclosure — which no EVM fuzzer canexpress.It's not vaporware. The PoC runs today on Daml 3.4.11 and is validated bymutation testing: it catches 8/8 planted bugs across all four property tiers,with zero false positives on the correct contract.- Repo (Apache-2.0, runnable today): https://github.com/fronow/daml-fuzz-canton- 2.5-minute demo (live break → catch → fix): https://youtu.be/QZ2AnSY_Fps- Draft proposal PR (auto-parked as needs-champion): https://github.com/canton-foundation/canton-dev-fund/pull/579SIG alignment: daml-tooling.Would a Daml Tooling SIG member be willing to champion this — or point me tothe right person?Thanks,dfrnw