Radius aware probabilistic testing of deadlocks with guarantees

10Citations
Citations of this article
22Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Concurrency bugs only occur under certain interleaving. Existing randomized techniques are usually ineffective. PCT innovatively generates scheduling, before executing a program, based on pri-orities and priority change points. Hence, it provides a probabilis-tic guarantee to trigger concurrency bugs. PCT randomly selects priority change points among all events, which might be effective for non-deadlock concurrency bugs. However, deadlocks usually involve two or more threads and locks, and require more ordering constraints to be triggered. We interestingly observe that, every two events of a deadlock usually occur within a short range. We generally formulate this range as the bug Radius, to denote the max distance of every two events of a concurrency bug. Based on the bug radius, we propose RPro (Radius aware Probabilistic testing) for triggering deadlocks. Unlike PCT , RPro selects priori-ty change points within the radius of the targeted deadlocks but not among all events. Hence, it guarantees larger probabilities to trigger deadlocks. We have implemented RPro and PCT and eval-uated them on a set of real-world benchmarks containing 10 unique deadlocks. The experimental results show that RPro trig-gered all deadlocks with higher probabilities (i.e., 7.7x times larger on average) than that by PCT . We also evaluated RPro with radius varying from 1 to 150 (or 300). The result shows that the radius of a deadlock is much smaller (i.e., from 2 to 114 in our experiment) than the number of all events. This further confirms our observation and makes RPro meaningful in practice.

Cite

CITATION STYLE

APA

Cai, Y., & Yang, Z. (2016). Radius aware probabilistic testing of deadlocks with guarantees. In ASE 2016 - Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (pp. 356–367). Association for Computing Machinery, Inc. https://doi.org/10.1145/2970276.2970307

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free