ziglang / zig

General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
https://ziglang.org
MIT License
34.79k stars 2.54k forks source link

fuzzer web interface: ability to scroll to source locations that newly gain coverage #20996

Open andrewrk opened 2 months ago

andrewrk commented 2 months ago

Extracted from https://github.com/ziglang/zig/pull/20958.

When a red dot turns to green because the fuzzer discovered an input that found a new edge in the control flow graph, it should load the respective source file and scroll that source location into view.

This should be a UI option that is toggleable, with a sensible default that is convenient (enabled by default under the right conditions) and not annoying (disabled by default under the right conditions). For example, it should only jump around a maximum of once per second or something like that.

When many new source locations gain coverage, there should be heuristics to pick one that is nearest to the current view. Same file, if possible.

xdBronch commented 2 months ago

I think a nice UX would be to automatically disable it if the user scrolls manually