Hi! I’ve made a topic about Elm-reduce before, in which I’ve been looking for projects to test Elm-reduce on, now it’s ready for release!
This project helps you create bug reports in case the compiler crashes by removing irrelevant source code from your project until a small test case that reproduces the bug you have remains.
There is more info about this project in the readme on gitlab: https://gitlab.com/matheus23/elm-reduce
If you want a more detailed look at Elm-reduce, you can look at the thesis I wrote about it: https://pp.ipd.kit.edu/publication.php?id=pkrueger19bachelorarbeit (there is a pdf download link on that site)
Please try it out on the next bug that crashes any Elm tool
Also: I think we could really improve the Elm compiler’s robustness and tooling by fuzz testing the compiler. Elm-reduce is one of the pieces necessary for that: It would reduce the fuzzed test cases that triggered a bug in the compiler. The other piece, the fuzzer, is still missing. Other languages achieve great results by fuzz-testing their compilers: http://embed.cs.utah.edu/csmith/ for C or https://github.com/googleprojectzero/fuzzilli for javascript (testing V8 at google)
What do you think?