Article: Fuzzing D code with LDC

H. S. Teoh hsteoh at quickfur.ath.cx
Mon Jan 15 21:32:33 UTC 2018


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


More information about the Digitalmars-d-announce mailing list