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

divide corpus among workers and run in parallel #377

Open 0xalpharush opened 1 week ago

0xalpharush commented 1 week ago

This is run serially and could be made parallel. We should run the failing test cases serially still so that running the corpus isn't treated as a new failure https://github.com/crytic/medusa/blob/62b648c16053d87e3244dfd14a55371059be701c/fuzzing/fuzzer.go#L639 https://github.com/crytic/medusa/blob/08a6eab7353b831f436ce8a317835a986640fc02/fuzzing/corpus/corpus.go#L297-L300

It was originally request for Medusa due to being slow (https://github.com/crytic/echidna/issues/1206)

This is probably less of a priority than shrinking the corpus https://github.com/crytic/medusa/issues/326#issuecomment-1991734464. However, that is manual so maybe we should intermittently perform shrinking one a worker during fuzzing