ACM Home Page
Please provide us with feedback. Feedback
Run-time detection of potential deadlocks for programs with locks, semaphores, and condition variables
Full text PdfPdf (186 KB)
Source International Symposium on Software Testing and Analysis archive
Proceedings of the 2006 workshop on Parallel and distributed systems: testing and debugging table of contents
Portland, Maine, USA
SESSION: Deadlock detection table of contents
Pages: 51 - 60  
Year of Publication: 2006
ISBN:1-59593-414-6
Authors
Rahul Agarwal  SUNY at Stony Brook, Stony Brook, NY
Scott D. Stoller  SUNY at Stony Brook, Stony Brook, NY
Sponsors
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 19,   Downloads (12 Months): 91,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1147403.1147413
What is a DOI?

ABSTRACT

Concurrent programs are notorious for containing errors that are difficult to reproduce and diagnose. A common kind of concurrency error is deadlock, which occurs when some threads are permanently blocked. This paper defines a run-time notion of potential deadlock in programs with locks, semaphores, and condition variables. Informally, an execution has potential for a deadlock if some feasible permutation of the execution results in a deadlock. Feasibility of a permutation is determined by ordering constraints amongst events in the execution. Previous work on run-time detection of potential deadlocks are for programs that use locks. This paper presents run-time algorithms to detect potential deadlocks in programs that use locks (block structured as well as non block structured), semaphores, and condition variables.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
R. Agarwal, L. Wang, and S. D. Stoller. Detecting potential deadlocks with static analysis and runtime monitoring. Technical Report DAR-05-25, Computer Science Department, SUNY at Stony Brook, Sept. 2005. Available at http://www.cs.sunysb.edu/.ragarwal/deadlock/.
 
2
R. Agarwal, L. Wang, and S. D. Stoller. Detecting potential deadlocks with static analysis and runtime monitoring. In Proceedings of the Parallel and Distributed Systems: Testing and Debugging (PADTAD) Track of the 2005 IBM Verification Conference volume 3875 of Lecture Notes in Computer Science pages 191--207. Springer-Verlag, 2006. Received the conference's Best Paper Award.
 
3
S. Bensalem and K. Havelund. Scalable deadlock analysis of multi-threaded programs. In Proceedings of the Parallel and Distributed Systems: Testing and Debugging (PADTAD) Track of the 2005 IBM Verification Conference Springer-Verlag, Nov. 2005.
4
 
5
F. Chen and G. Roşu. Predicting concurrency errors at runtime using sliced causality. Technical report, Computer Science at UIUC (No. UIUCDCS-R-2005-2660), 2005.
 
6
O. Edelstein, E. Farchi, E. Goldin, Y. Nir, G. Ratsaby, and S. Ur. Framework for testing multi-threaded Java programs. Concurrency and Computation: Practice and Experience 15(3-5) : 485--499, 2003.
7
 
8
 
9
E. Farchi, Y. Nir-Buchbinder, and S. Ur. Cross-run lock discipline checker for java. Presentation at the 2005 IBM Verification Conference.
10
 
11
 
12
 
13
D. Hovemeyer and W. Pugh. Finding concurrency bugs in java. In Proceedings of the PODC Workshop on Concurrency and Synchronization in Java Programs July 2005.
 
14
T. Li, C. S. Ellis, A. R. Lebeck, and D. J. Sorin. Pulse: A Dynamic Deadlock Detection Mechanism Using Speculative Execution. In Proceedings of the USENIX Annual Technical Conference pages 31--44, April 2005.
 
15
F. Mattern. Virtual time and global states of distributed systems. In M. Cosnard et. al, editor, Parallel and Distributed Algorithms: Proceedings of the International Workshop on Parallel and Distributed Algorithms pages 215--226. Elsevier Science Publishers B. V. , 1989.
16
17
18
 
19
K. Sen, G. Roşu, and G. Agha. Online efficient predictive safety analysis of multithreaded programs. International Journal on Software Technology and Tools Transfer (STTT) (To Appear) 2005. Previous version appeared in TACAS'04, LNCS volumn 2988, pages 123--138.
 
20
W. Stallings. Operating Systems Prentice-Hall, 5th edition edition, 2005.
 
21
 
22
C. von Praun. Detecting Synchronization Defects in Multi-Threaded Object-Oriented Programs PhDthesis, ETH Zürich, 2004.
23
24
 
25
 
26
A. Williams, W. Thies, and M. D. Ernst. Static deadlock detection for Java libraries. In Proc. 2005 European Conference on Object-Oriented Programming (ECOOP) Lecture Notes in Computer Science. Springer-Verlag, July 2005.


Collaborative Colleagues:
Rahul Agarwal: colleagues
Scott D. Stoller: colleagues