Radius aware probabilistic testing of deadlocks with guarantees

  • Yan Cai
  • , Zijiang Yang

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

10 Scopus citations

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.

Original languageEnglish
Title of host publicationASE 2016 - Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering
EditorsSarfraz Khurshid, David Lo, Sven Apel
PublisherAssociation for Computing Machinery, Inc
Pages356-367
Number of pages12
ISBN (Electronic)9781450338455
DOIs
StatePublished - 25 Aug 2016
Event31st IEEE/ACM International Conference on Automated Software Engineering, ASE 2016 - Singapore, Singapore
Duration: 3 Sep 20167 Sep 2016

Publication series

NameASE 2016 - Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering

Conference

Conference31st IEEE/ACM International Conference on Automated Software Engineering, ASE 2016
Country/TerritorySingapore
CitySingapore
Period3/09/167/09/16

Keywords

  • Bug radius
  • Deadlock
  • Multithreaded program
  • Random testing

Fingerprint

Dive into the research topics of 'Radius aware probabilistic testing of deadlocks with guarantees'. Together they form a unique fingerprint.

Cite this