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

Add logs format option #316

Open aviggiano opened 4 months ago

aviggiano commented 4 months ago

I'd like to create a chart of medusa's run over time.

For example, this can be useful to grasp how coverage is increasing as time passes.

One solution could be to have a "log output format" option, so that I can setup csv and instead of printing:

fuzz: elapsed: 3s, calls: 4122 (1373/sec), seq/s: 14, coverage: 102
fuzz: elapsed: 6s, calls: 6048 (641/sec), seq/s: 6, coverage: 105
fuzz: elapsed: 9s, calls: 6473 (141/sec), seq/s: 1, coverage: 105

it could print

elapsed,calls,calls_per_sec,seq_per_s,coverage
3,4122,1373,14,102
6,6048,641,6,105
9,6473,141,1,105
aviggiano commented 3 months ago

Maybe this is better suited here: https://github.com/crytic/fuzz-utils/issues/45