Magiclock: Scalable Detection of Potential Deadlocks in Large-Scale Multithreaded Programs

We present Magiclock, a novel potential deadlock detection technique by analyzing execution traces (containing no deadlock occurrence) of large-scale multithreaded programs. Magiclock iteratively eliminates removable lock dependencies before potential deadlock localization. It divides lock dependenc...

Full description

Saved in:
Bibliographic Details
Published in:IEEE transactions on software engineering Vol. 40; no. 3; pp. 266 - 281
Main Authors: Yan Cai, Chan, W. K.
Format: Journal Article
Language:English
Published: IEEE 01.03.2014
Subjects:
ISSN:0098-5589, 1939-3520
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:We present Magiclock, a novel potential deadlock detection technique by analyzing execution traces (containing no deadlock occurrence) of large-scale multithreaded programs. Magiclock iteratively eliminates removable lock dependencies before potential deadlock localization. It divides lock dependencies into thread specific partitions, consolidates equivalent lock dependencies, and searches over the set of lock dependency chains without the need to examine any duplicated permutations of the same lock dependency chains. We validate Magiclock through a suite of real-world, large-scale multithreaded programs. The experimental results show that Magiclock is significantly more scalable and efficient than existing dynamic detectors in analyzing and detecting potential deadlocks in execution traces of large-scale multithreaded programs.
ISSN:0098-5589
1939-3520
DOI:10.1109/TSE.2014.2301725