crytic / medusa

Parallelized, coverage-guided, mutational Solidity smart contract fuzzing, powered by go-ethereum
https://www.trailofbits.com/
GNU Affero General Public License v3.0
273 stars 33 forks source link

fix: weight corpus by timestamp to favor 'hardest-to-discover' inputs #383

Open 0xalpharush opened 1 week ago

0xalpharush commented 1 week ago

When the fuzzer is restarted, it currently weights all seeds equally despite use the aggregate call count as it does at runtime. The thinking is that an input that took the longest to discover. Using the timestamp of the corpus sort of approximates using the call count at runtime (time and call count both increase as the fuzzer runs). This is how Echidna does it fwiw