I can't seem to find a good overview of the current state of Solidity fuzzers and don't know which ones might be considered old at the time of writing. I have been looking into echidna and foundry. The Solidity docs also mention SMTChecker. I would be grateful for any additional information/experiences with these libraries.
1 Answer
tl;dr hevm, Echidna, Harvey, Foundry
I keep a list of formal verification tools, and recently separated tools by fuzzers as well: https://github.com/leonardoalt/ethereum_formal_verification_overview (need to update with Foundry)
SMTChecker is a model checker based on Horn solvers, it overlaps with fuzzers in what it can achieve, but both have different and complementary pros and cons.
-
Amazing, thanks. Is there any that you'd personally recommend to someone starting out with formal verification?– phazeFeb 3, 2022 at 13:01
-
In general (not only fuzzers or fv): Slither, Echidna, Act, hevm/dapptools, Foundry fuzzer, Scribble, SMTChecker. A few others are not open access. Feb 8, 2022 at 19:19