ACM Home Page
Please provide us with feedback. Feedback
A randomized dynamic program analysis technique for detecting real deadlocks
Full text PdfPdf (435 KB)
Source
Conference on Programming Language Design and Implementation archive
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation table of contents
Dublin, Ireland
SESSION: Races and deadlocks table of contents
Pages 110-120  
Year of Publication: 2009
ISBN:978-1-60558-392-1
Also published in ...
Authors
Pallavi Joshi  University of California, Berkeley, Berkeley, CA, USA
Chang-Seo Park  University of California, Berkeley, Berkeley, CA, USA
Koushik Sen  University of California, Berkeley, Berkeley, CA, USA
Mayur Naik  Intel Research, Berkeley, CA, USA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 40,   Downloads (12 Months): 146,   Citation Count: 0
Additional Information:

abstract   references   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/1542476.1542489
What is a DOI?

ABSTRACT

We present a novel dynamic analysis technique that finds real deadlocks in multi-threaded programs. Our technique runs in two stages. In the first stage, we use an imprecise dynamic analysis technique to find potential deadlocks in a multi-threaded program by observing an execution of the program. In the second stage, we control a random thread scheduler to create the potential deadlocks with high probability. Unlike other dynamic analysis techniques, our approach has the advantage that it does not give any false warnings. We have implemented the technique in a prototype tool for Java, and have experimented on a number of large multi-threaded Java programs. We report a number of previously known and unknown real deadlocks that were found in these benchmarks.


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. In Parallel and Distributed Systems: Testing and Debugging 2005, 2005.
 
2
3
 
4
S. Bensalem and K. Havelund. Scalable dynamic deadlock analysis of multi-threaded programs. In Parallel and Distributed Systems: Testing and Debugging 2005 (PADTAD'05), 2005.
5
 
6
S. Chaki, E. Clarke, J. Ouaknine, N. Sharygina, and N. Sinha. Concurrent software verification with states, events, and deadlocks. Formal Aspects of Computing, 17(4):461--483, 2005.
 
7
 
8
O. Edelstein, E. Farchi, Y. Nir, G. Ratsaby, , and S. Ur. Multithreaded Java program test generation. IBM Systems Journal, 41(1):111--125, 2002.
9
10
11
 
12
 
13
 
14
K. Havelund and T. Pressburger. Model Checking Java Programs using Java PathFinder. Int. Journal on Software Tools for Technology Transfer, 2(4):366--381, 2000.
 
15
 
16
P. Joshi, M. Naik, C.-S. Park, and K. Sen. An extensible active testing framework for concurrent programs. In 21st International Conference on Computer Aided Verification (CAV'09), Lecture Notes in Computer Science. Springer, 2009.
 
17
H. Jula, D. Tralamazza, C. Zamfir, and G. Candea. Deadlock immunity: Enabling systems to defend against deadlocks. In Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI'08), 2008.
18
 
19
20
 
21
 
22
23
24
25
 
26
S. D. Stoller. Testing concurrent Java programs using randomized scheduling. In Workshop on Runtime Verification (RV'02), volume 70 of ENTCS, 2002.
 
27
C. von Praun. Detecting Synchronization Defects in Multi-Threaded Object-Oriented Programs. PhD thesis, Swiss Federal Institute of Technology, Zurich, 2004.
28
 
29
A. Williams, W. Thies, and M. Ernst. Static deadlock detection for Java libraries. In ECOOP 2005 -- 19th European Conference on Object--Oriented Programming (ECOOP'05), pages 602--629, 2005.
30

Collaborative Colleagues:
Pallavi Joshi: colleagues
Chang-Seo Park: colleagues
Koushik Sen: colleagues
Mayur Naik: colleagues