×

zbMATH — the first resource for mathematics

Program visualization for debugging deadlocks in multithreaded programs. (English) Zbl 1206.68097
Kim, Tai-hoon (ed.) et al., Advances in software engineering. International conference, ASEA 2010, held as part of the future generation information technology conference, FGIT 2010, Jeju Island, Korea, December 13–15, 2010. Proceedings. Berlin: Springer (ISBN 978-3-642-17577-0/pbk; 978-3-642-17578-7/ebook). Communications in Computer and Information Science 117, 228-236 (2010).
Summary: Debugging deadlocks in multithreaded programs is a notoriously difficult task. A key reason for this is to understand the high behavioral complexity resulting from the inherent nondeterminism of multithreaded programs. We present a novel visualization technique which abstracts the nested patterns of locks and represents the happens-before relation of the patterns. We implement the technique in a prototype tool for Java, and demonstrate its power using a number of multithreaded Java programs. The experimental result shows that this graph provides a simple yet powerful representation to reason about deadlocks in an execution instance.
For the entire collection see [Zbl 1206.68015].
MSC:
68N99 Theory of software
68R10 Graph theory (including graph drawing) in computer science
Software:
JaVis
PDF BibTeX XML Cite
Full Text: DOI
References:
[1] Bensalem, S., Havelund, K.: Dynamic deadlock analysis of multi-threaded programs. In: Ur, S., Bin, E., Wolfsthal, Y. (eds.) HVC 2005. LNCS, vol. 3875, pp. 208–223. Springer, Heidelberg (2006)
[2] Naik, M., Park, C.S., Sen, K., Gay, D.: Effective static deadlock detection. In: Proceedings of the 2009 IEEE 31st International Conference on Software Engineering (ICSE), pp. 386–396. IEEE Computer Society, Los Alamitos (May 2009)
[3] Joshi, P., Park, C.S., Sen, K., Naik, M.: A randomized dynamic program analysis technique for detecting real deadlocks. In: Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2009), pp. 110–120. ACM, New York (June 2009)
[4] Kraemer, E.: Visualizing concurrent programs. In: Software Visualization: Programming as a Multimedia Experience, pp. 237–258 (January 1998)
[5] Diehl, S.: Software Visualization: Visualizing the Structure, Behavior, and Evolve of Software. Springer, Heidelberg (May 2007) · Zbl 1116.68025
[6] Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21(7), 558–565 (1978) · Zbl 0378.68027
[7] Bensalem, S., Fernandez, J.C., Havelund, K., Mounier, L.: Confirmation of deadlock potentials detected by runtime analysis. In: Proceedings of the 2006 Workshop on Parallel and Distributed Systems: Testing and Debugging (PADTAD 2006), pp. 41–50. ACM, New York (2006)
[8] Havelund, K.: Using runtime analysis to guide model checking of java programs. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 245–264. Springer, Heidelberg (2000) · Zbl 0976.68576
[9] Mehner, K.: Javis: A uml-based visualization and debugging environment for concurrent java programs. In: Diehl, S. (ed.) Dagstuhl Seminar 2001. LNCS, vol. 2269, pp. 163–175. Springer, Heidelberg (2002) · Zbl 1043.68930
[10] Leroux, H., Réquilé-Romanczuk, A., Mingins, C.: Jacot: a tool to dynamically visualise the execution of concurrent java programs. In: Proceedings of the 2nd International Conference on Principles and Practice of Programming in Java (PPPJ 2003), pp. 201–206. Computer Science Press, Inc., Rockville (2003)
[11] Artho, C., Havelund, K., Honiden, S.: Visualization of concurrent program executions. In: Proceedings of the 31st Annual International Computer Software and Applications Conference (COMPSAC 2007), pp. 541–546. IEEE Computer Society, Los Alamitos (July 2007)
[12] Zhao, Q.A., Stasko, J.T.: Visualizing the execution of threads-based parallel programs. Technical Report GIT-GVU-95-01, College of Computing, George Institute of Technology (January 1995)
[13] Carr, S., Mayo, J., Shene, C.K.: Threadmentor: a pedagogical tool for multithreaded programming. J. Educ. Resour. Comput. 3(1), 1 (2003) · Zbl 05430499
[14] Kim, B.C., Jun, S.W., Hwang, D.J., Jun, Y.K.: Visualizing potential deadlocks in multithreaded programs. In: Malyshkin, V. (ed.) PaCT 2009. LNCS, vol. 5698, pp. 321–330. Springer, Heidelberg (2009) · Zbl 05606579
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.