[Feature Request] Show Live Coverage Report while the fuzzer is running
Describe the desired feature
Preamble
When running echidna our goal is to maximize coverage.
In order to iterate on coverage we have to stop the fuzzer and evaluate which lines are not being hit.
To make this process faster we use foundry to test if the coverage could theoretically be hit.
This is still not ideal and we ultimately have to run Echidna many times just to generate a coverage report.
Then we'd have to decide if we need to add clamping / change the handlers, or just let the fuzzer run longer.
If we could see the coverage live, we'd make many edits to the handlers while looking at the coverage and then we'd run the fuzzer again.
Ask
Have the coverage report update live (ideally via a CLI arg), this would allow devs to quickly be able to identify hard to reach parts of the coverage, which will make the DX much faster.
If the performance loss is too high, it would be completely fine to simply add a shortcut to generate the coverage report on request.
I believe most developers will massively benefit by this as the setup time for Echidna (Compilation + Slither), tends to be one of it's few downsides left.
I think dumping the coverage report every X iterations, using a single worker (even if it is not completely up to date), can be valuable. It can also allow us to implement other ideas such as the MCP command to review coverage on the fly.
Take it gang, it works: https://github.com/forkforkdog/echidna/actions/runs/17892851135
Neat!. Is it restricted to a single worker? (e.g. the first one). Otherwise, it can have a large overhead.