echidna icon indicating copy to clipboard operation
echidna copied to clipboard

[Feature Request] Show Live Coverage Report while the fuzzer is running

Open GalloDaSballo opened this issue 4 months ago • 3 comments

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.

GalloDaSballo avatar Aug 09 '25 16:08 GalloDaSballo

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.

gustavo-grieco avatar Aug 28 '25 14:08 gustavo-grieco

Take it gang, it works: https://github.com/forkforkdog/echidna/actions/runs/17892851135

forkforkdog avatar Sep 21 '25 12:09 forkforkdog

Neat!. Is it restricted to a single worker? (e.g. the first one). Otherwise, it can have a large overhead.

gustavo-grieco avatar Sep 21 '25 22:09 gustavo-grieco