Fuzzed [1] is a simple fuzzer for the D programming language. It allows to detect sequences of tokens that crash the parser. While the D front end is not yet used to make tools, if this ever happens the parser will have to accept invalid code. As experienced with dparse, invalid code tend to crash more a parser because of a cognitive bias that lead us, "hoomans", to prove that things work rather than the opposite.

You can run it on one your core, report the crasher programs to the project issue tracker or fix them yourself:

gdb dmd
run <the_crasher>
bt

And then try to see what happens in the parser at the location pointed on top of the back trace. Note that you'll need to build dmd debug version.

The time to write this announce, already 5 "crashers" found.

[1] https://github.com/BBasile/fuzzed

Reply via email to