๐ค AI Summary
To address the challenge of reproducing rare concurrency bugs in multithreaded software, this paper proposes a black-box bug amplification method. It models bug triggering as a rare-event regression problem, constructs a lightweight predictive model from a small number of repeated test executions, and guides input-space search using the modelโrequiring neither source code access nor runtime instrumentation. The approach innovatively integrates regression ensembles with a model-driven adaptive sampling strategy. Evaluated on 17 representative concurrency bugs, it achieves, on average, a tenfold improvement in bug-triggering rate over random testing. The method is non-intrusive, imposes low overhead, and exhibits cross-platform applicability.
๐ Abstract
Bugs, especially those in concurrent systems, are often hard to reproduce because they manifest only under rare conditions. Testers frequently encounter failures that occur only under specific inputs, even when occurring with low probability. We propose an approach to systematically amplify the occurrence of such elusive bugs. We treat the system under test as a black-box and use repeated trial executions to train a predictive model that estimates the probability of a given input configuration triggering a bug. We evaluate this approach on a dataset of 17 representative concurrency bugs spanning diverse categories. Several model-based search techniques are compared against a brute-force random sampling baseline. Our results show that an ensemble of regression models can significantly increase bug occurrence rates across nearly all scenarios, often achieving an order-of-magnitude improvement over random sampling. The contributions of this work include: (i) a novel formulation of bug-amplification as a rare-event regression problem; (ii) an empirical evaluation of multiple techniques for amplifying bug occurrence, demonstrating the effectiveness of model-guided search; and (iii) a practical, non-invasive testing framework that helps practitioners expose hidden concurrency faults without altering the internal system architecture.