dapptools
dapptools copied to clipboard
Fuzz Test Dictionary
We should keep a persistent dictionary of examples founds via fuzzing. Each time a new branch is explored we should save the calldata to the dictionary for use in future runs.
This corpus could also be used as a seed for mutation based testing to hopefully get smarter or more aggressive values out of the fuzzer.
Some inspiration for mutations:
- https://lcamtuf.blogspot.com/2014/08/binary-fuzzing-strategies-what-works.html
- https://github.com/crytic/echidna/blob/185ee196f46467128a928bfbd6c90b31d623bb59/lib/Echidna/ABI.hs
- https://github.com/crytic/echidna/blob/master/lib/Echidna/Mutator/Array.hs