Dr. DD: 1-Minimal Isolation of Failure Causes via Deferred Restarts
Delta debugging is a widely used algorithm to reduce failure-inducing inputs in software testing. It guarantees 1-minimality but suffers from quadratic worst-case complexity due to repeated restarts at every partition level, limiting its scalability.
Re-examining ddmin, we show that restarts are only required at the single-element level to preserve 1-minimality. Restarts are redundant at coarser granularities and can be deferred without affecting the 1-minimality guarantee. We further show that the quadratic worst case arises from causal chains, not from restarts.
These insights lead to drdd, a drop-in replacement for ddmin that preserves 1-minimality while avoiding unnecessary restarts. drdd also exposes a restart budget R, allowing a trade-off between minimality and linear worst-case performance.
We evaluate drdd on ffmpeg, XML, binutils, and crashjs inputs. On XML inputs, drdd reduces oracle calls to 1.7% of ddminY and achieves a 6.0×speedup, and shows the largest wall-clock speedup on crashjs. drdd performs well when reduction is possible and shows smaller gains on inputs with limited or no reducibility. Across all subjects, drdd matches the reduction quality of ddminY and avoids the degradation observed in ProbDD and CDD