https://www.fuzzmap.io/ Fuzz Map Fuzz Map is a fuzzer for GUIs that automatically identifies states using code coverage and builds a visual map. Ideally, the map is useful even to people who'd prefer not to read code. Behind this window is a interactive local demo. Hide this introduction then click Fuzz to start fuzzing. To show this introduction again, click the Information button. Here's a 5-second video of real-time fuzzing on my laptop. Every state or arrow in the map corresponds to one or more codepaths discovered by the fuzzer: The sandbox renders the React code in the editor (specifically, it renders ). Click Compile to update the sandbox, and click the Reset button to reset it. The map supports pan and zoom. The beginning of this writeup will focus on features. If, instead, you're primarily interested in how Fuzz Map works, you can skip ahead to the part about how it works. There's some fun trivia, e.g. why a & & b can't be transformed into (a && (h1, true)) || (h2, b). By the way, everything in this research prototype runs in your browser. No data is uploaded to a server. Live programming Fuzzing an application might reveal an unexpected state or crash in the map. After updating the application's code, you can fuzz the application a second time. Checking the new map helps to verify that the effects of the change are what you expected. In Fuzz Map, fuzzing the second time normally goes much faster than it did the first time around. This is because inputs are saved for reuse after recompiling. Inputs are typically reusable without manual annotation because Fuzz Map uses the event handler's inline declaration to identify it. For example, if you make a button with an onClick event handler: function App(...) { const handleClick = ...; return