Open RobinMorisset opened 1 year ago
Thanks, @RobinMorisset, indeed it's a good point that Gradualizer should not crash in such cases. Thanks for all the raised issues 👍
@RobinMorisset how did you find these issues? Property based tests or something more fancy? Just curious.
@zuiderkwast I wrote a fuzzer for Erlang: https://github.com/WhatsApp/erlfuzz. See https://erlangforums.com/t/open-sourcing-erlfuzz/2562 for a longer introduction, and some examples of the kind of bugs it has been finding in tools like erlc. It found these 4 issues (and half a dozen more) in roughly 30s when I started running it on gradualizer yesterday (I'll try to commit the script to do so today).
The script has been committed: https://github.com/WhatsApp/erlfuzz/commit/1f770e43b2be1fc3db382afd871e15f1f0ff693a
Running gradualizer on the following erlang code:
results in the following crash:
While it is not very useful Erlang code, I would expect gradualizer to be able to run without crashing on all syntactically valid Erlang code.