Visualizing Potential Deadlocks in Multithreaded Programs

  • Kim, Byung-Chul; 
  • Jun, Sang-Woo; 
  • Hwang, Dae Joon; 
  • Jun, Yong-Kee
Citations

WEB OF SCIENCE

5
Citations

SCOPUS

7

초록

It is important to analyze and identify potential deadlocks resident in multithreaded programs from a successful deadlock-free execution, because the nondeterministic nature of such programs may hide the errors during testing. Visualizing the runtime behaviors of locking operations makes it possible to debug such errors effectively, because it provides intuitive understanding of different feasible executions caused by nondeterminism. However, with previous visualization techniques, it is hard to capture alternate orders imposed by locks due to their representation of a partial-order over locking operations. This paper presents a novel graph, called lock-causality graph, which represents alternate orders over locking operations. A visualization tool implements the graph, and demonstrates its power using the classical dining-philosophers problem written in Java. The experiment result shows that the graph provides a simple but powerful representation of potential deadlocks in an execution instance not deadlocked.

키워드

multithreaded programs; debugging; potential deadlocks; visualization; lock-causality graph
제목
Visualizing Potential Deadlocks in Multithreaded Programs
저자
Kim, Byung-Chul; Jun, Sang-Woo; Hwang, Dae Joon; Jun, Yong-Kee
발행일
2009
유형
Proceedings Paper
저널명
Lecture Notes in Computer Science
권
5698
페이지
321 ~ +