Sciweavers

ASPLOS
2010
ACM

A randomized scheduler with probabilistic guarantees of finding bugs

13 years 11 months ago
A randomized scheduler with probabilistic guarantees of finding bugs
This paper presents a randomized scheduler for finding concurrency bugs. Like current stress-testing methods, it repeatedly runs a given test program with supplied inputs. However, it improves on stress-testing by finding buggy schedules more effectively and by quantifying the probability of missing concurrency bugs. Key to its design is the characterization of the depth of a concurrency bug as the minimum number of scheduling constraints required to find it. In a single run of a program with n threads and k steps, our scheduler detects a concurrency bug of depth d with probability at least 1/nkd−1 . We hypothesize that in practice, many concurrency bugs (including well-known types such as ordering errors, atomicity violations, and deadlocks) have small bug-depths, and we confirm the efficiency of our schedule randomization by detecting previously unknown and known concurrency bugs in several production-scale concurrent programs. Categories and Subject Descriptors D [2]: 5 Gene...
Sebastian Burckhardt, Pravesh Kothari, Madanlal Mu
Added 17 May 2010
Updated 17 May 2010
Type Conference
Year 2010
Where ASPLOS
Authors Sebastian Burckhardt, Pravesh Kothari, Madanlal Musuvathi, Santosh Nagarakatte
Comments (0)