Visualizing Potential Deadlocks in Multithreaded Programs

  • Authors:
  • Byung-Chul Kim;Sang-Woo Jun;Dae Joon Hwang;Yong-Kee Jun

  • Affiliations:
  • Gyeongsang National University, Jinju, South Korea 660-701;Seoul National University, Seoul, South Korea 151-742;SungKyunKwan University, Suwon, South Korea 440-746;Gyeongsang National University, Jinju, South Korea 660-701

  • Venue:
  • PaCT '09 Proceedings of the 10th International Conference on Parallel Computing Technologies
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.