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.

Reply via email to