ePrints@IIScePrints@IISc Home | About | Browse | Latest Additions | Advanced Search | Contact | Help

Trace Driven Dynamic Deadlock Detection and Reproduction

Samak, Malavika and Ramanathan, Murali Krishna (2014) Trace Driven Dynamic Deadlock Detection and Reproduction. In: ACM SIGPLAN NOTICES, 49 (8). pp. 29-42.

[img] PDF
acm_sig_not_49-8_29_2014.pdf.pdf - Published Version
Restricted to Registered users only

Download (483kB) | Request a copy
Official URL: http://dx.doi.org/ 10.1145/2555243.2555262


Dynamic analysis techniques have been proposed to detect potential deadlocks. Analyzing and comprehending each potential deadlock to determine whether the deadlock is feasible in a real execution requires significant programmer effort. Moreover, empirical evidence shows that existing analyses are quite imprecise. This imprecision of the analyses further void the manual effort invested in reasoning about non-existent defects. In this paper, we address the problems of imprecision of existing analyses and the subsequent manual effort necessary to reason about deadlocks. We propose a novel approach for deadlock detection by designing a dynamic analysis that intelligently leverages execution traces. To reduce the manual effort, we replay the program by making the execution follow a schedule derived based on the observed trace. For a real deadlock, its feasibility is automatically verified if the replay causes the execution to deadlock. We have implemented our approach as part of WOLF and have analyzed many large (upto 160KLoC) Java programs. Our experimental results show that we are able to identify 74% of the reported defects as true (or false) positives automatically leaving very few defects for manual analysis. The overhead of our approach is negligible making it a compelling tool for practical adoption.

Item Type: Journal Article
Additional Information: Copy right for this article belongs to the ASSOC COMPUTING MACHINERY, 2 PENN PLAZA, STE 701, NEW YORK, NY 10121-0701 USA
Keywords: deadlock detection; dynamic analysis; concurrency
Department/Centre: Division of Electrical Sciences > Computer Science & Automation
Date Deposited: 19 Mar 2015 12:14
Last Modified: 19 Mar 2015 12:14
URI: http://eprints.iisc.ac.in/id/eprint/51072

Actions (login required)

View Item View Item