🤖 AI Summary
Delta debugging (DD) relies on the monotonicity assumption—that supersets of failing programs must also fail—but this assumption frequently fails in practice, leading to ineffective pruning and reduced efficiency. To address this, we propose Probabilistic Monotonicity Assessment (PMA), the first approach to model monotonicity as a probabilistic estimation problem. PMA dynamically learns from historical test outcomes to construct a confidence function that quantifies the likelihood of monotonicity for program subsets, enabling probabilistic pruning of non-failing subsets. Integrated with DDMin-style incremental reduction, PMA relaxes deterministic pruning constraints while preserving simplification quality. Experimental evaluation shows that, compared to CHISEL, our method reduces processing time by 59.2%, accelerates reduction by 3.32×, and yields simplified programs 6.7% smaller in size; against ProbDD, it further reduces time by 22.0%, speeds up reduction by 1.34×, and achieves an additional 3.0% reduction in output size.
📝 Abstract
Delta debugging assumes search space monotonicity: if a program causes a failure, any supersets of that program will also induce the same failure, permitting the exclusion of subsets of non-failure-inducing programs. However, this assumption does not always hold in practice. This paper introduces Probabilistic Monotonicity Assessment (PMA), enhancing the efficiency of DDMIN-style algorithms without sacrificing effectiveness. PMA dynamically models and assesses the search space's monotonicity based on prior tests tried during the debugging process and uses a confidence function to quantify monotonicity, thereby enabling the probabilistic exclusion of subsets of non-failure-inducing programs. Our approach significantly reduces redundant tests that would otherwise be performed, without compromising the quality of the reduction. We evaluated PMA against two leading DDMIN-style tools, CHISEL and ProbDD. Our findings indicate that PMA cuts processing time by 59.2% compared to CHISEL, accelerates the reduction process (i.e., the number of tokens deleted per second) by 3.32x, and decreases the sizes of the final reduced programs by 6.7%. Against ProbDD, PMA reduces processing time by 22.0%, achieves a 1.34x speedup in the reduction process, and further decreases the sizes of the final reduced programs by 3.0%. These findings affirm PMA's role in significantly improving delta debugging's efficiency while maintaining or enhancing its effectiveness.