Partial Order Aware Concurrency Sampling
Abstract
We present POS, a concurrency testing approach that samples the partial order of concurrent programs. POS uses a novel priority-based scheduling algorithm that dynamically reassigns priorities regarding the partial order information and formally ensures that each partial order will be explored with significant probability. POS is simple to implement and provides a probabilistic guarantee of error detection better than state-of-the-art sampling approaches. Evaluations show that POS is effective in covering the partial-order space of micro-benchmarks and finding concurrency bugs in real-world programs, such as Firefox’s JavaScript engine SpiderMonkey. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
DOI 10.1007/978-3-319-96142-2_20