On Sat, Jan 13, 2018 at 11:59:52PM +0000, Johan Engelen via Digitalmars-d-announce wrote: > It's been a work-in-progress for half a year, but finished now: > > http://johanengelen.github.io/ldc/2018/01/14/Fuzzing-with-LDC.html [...]
It would be good to program custom fuzzers for Phobos modules, especially the ones with generic code like std.algorithm and std.range, a lot of which I suspect have unhandled edge cases and other such overlooked flaws. Fuzzing at this level will be harder than merely fuzzing with random data; as input we'd need higher-level objects like ranges of various types and by-reference / by-value semantics. And detecting problem cases may not be so easy (how to detect if, say, reduce() returned the wrong answer when the input is randomized?). T -- Beware of bugs in the above code; I have only proved it correct, not tried it. -- Donald Knuth