4 ms·
Erlfuzz – Fuzzer for the Erlang compiler and VM
- dang 3y agoSee also https://github.com/WhatsApp/erlfuzz https://github.com/WhatsApp/erlfuzz (via https://news.ycombinator.com/item?id=35706610 https://news.ycombinator.com/item?id=35706610, but there aren't any comments there)
- gjadi 3y agoInteresting, it caught quite some bugs: https://github.com/WhatsApp/erlfuzz#some-of-the-bugs-found-so-far https://github.com/WhatsApp/erlfuzz#some-of-the-bugs-found-s... I wonder what triggered this work at WhatsApp. Are bugs in the ErlangVM frequent enough to motivate the effort? Was it a side-project that was then allowed/founded by the company afterwards? Do WhatsApp have a dedicated team focused on improving the Erlang ecosystem?
- frou_dh 3y agoThey also made a fantastic auto-formatter for Erlang code https://github.com/WhatsApp/erlfmt https://github.com/WhatsApp/erlfmt so evidently they have resources cleared for doing generally useful Erlang stuff.
- di4na 3y agoThey have had a team dedicated to improve their internal erlang ecosystem, which open sourced a few things, for a few years. I do not know their status as of today.
- rmorisset 3y agoAuthor of erlfuzz here. I'm part of a team at WhatsApp that, among other things, builds tools to improve developer efficiency for Erlang developers, especially at scale. erlfuzz is intended to make it safer for us (and others) to hack on the compiler and VM by catching early any bugs that might be introduced. That it also found a bunch of bugs that had been hidden for years is a very nice bonus and validates the approach. Other recent projects open sourced by my team: - a massive speedup of a common static analyzer for Erlang (https://github.com/erlang/otp/pull/5997 https://github.com/erlang/otp/pull/5997) - a type checker for Erlang (https://github.com/WhatsApp/eqwalizer/ https://github.com/WhatsApp/eqwalizer/) - an automated code formatter for Erlang (https://github.com/WhatsApp/erlfmt https://github.com/WhatsApp/erlfmt) - a grammar to easily parse Erlang (https://github.com/WhatsApp/tree-sitter-erlang/ https://github.com/WhatsApp/tree-sitter-erlang/)
- aburry 3y agoIs there a document describing how it works in general terms? A guide to the code as it were?