3 ms·
Seems like a relatively standard test case reduction tool aimed for D. The tool reduces test cases to make them easier to debug. It removes pieces from input d
by nn3 6y ago
Seems like a relatively standard test case reduction tool aimed for D.
The tool reduces test cases to make them easier to debug. It removes pieces from input data and testing each variant to see if it still reproduces the bug.
In the end you have a much smaller reproducer which is easier to debug. Here's a tutorial for gcc [2].
Most serious compilers use one in some shape or form, e.g. delta[1] (which probably was the first widely used one) or creduce[3] (which hugely improved the state of the art for C), and also various descendants reducing on something different (like LLVM bugpoint [4]). A lot of the original ideas go back to Andreas Zeller's delta debugging [5]
Somehow the blog author forgets to mention this rich history.
[1] http://delta.tigris.org/ http://delta.tigris.org/
[2] https://gcc.gnu.org/wiki/A_guide_to_testcase_reduction https://gcc.gnu.org/wiki/A_guide_to_testcase_reduction
[3] http://embed.cs.utah.edu/creduce/ http://embed.cs.utah.edu/creduce/
[4] https://llvm.org/docs/Bugpoint.html https://llvm.org/docs/Bugpoint.html
[5] https://en.wikipedia.org/wiki/Delta_debugging https://en.wikipedia.org/wiki/Delta_debugging
- aldacron 6y agoThe forum post he linked to where he announced DustMite says it's inspired by Tigris Delta and lists some advantages: https://forum.dlang.org/post/op.vvsvhh1ptuzx1w@cybershadow.mshome.net https://forum.dlang.org/post/op.vvsvhh1ptuzx1w@cybershadow.m...