Some Observations on the D Development Process

Random D user no at email.com
Sun Jan 7 16:52:55 UTC 2018


On Friday, 5 January 2018 at 03:28:10 UTC, Walter Bright wrote:
> On 1/4/2018 2:34 AM, Mike Franklin wrote:
>> Walter seems to pop in daily, and occasionally reviews PRs, 
>> and his PRs of late are mostly just refactorings rather than 
>> fixing difficult bugs.
> There's a lot of technical debt I've been trying to fix

While not directly applicable to 'technical debt', has anyone 
ever written a fuzzer for dmd?

Basically a testing software that generates valid or almost valid 
(negative case) input (code using grammar rules) and tries to run 
it through the application (compiler) to see what happens. These 
things usually reveal tons of easy to fix bugs at the application 
interface level and some hard to fix corner cases that no one 
thought. Best of all, you will get easy to use test cases that 
some else can try to fix. Unfortunately fuzzers often get stuck 
in local maximums, so you need to spend some time with app 
coverage using the generated data and modify the fuzzer 
accordingly. But once it has been built and it tests large code 
coverage, it's an awesome tool to reveal bugs and test changes. 
Just make a change, run tests, run fuzzer for 5-15 mins, 1h or 
days if you want extra coverage.

I think there's also a variant of this that takes valid code and 
replace existing code constructs with equivalent but unusual 
constructs.


More information about the Digitalmars-d mailing list