skip to main content
article

A thread monitoring system for multithreaded Java programs

Published:01 May 2006Publication History
Skip Abstract Section

Abstract

To assist developing robust multithreaded software, we develop a thread monitoring system for multithreaded Java programs, which can trace or monitor running threads and synchronization. We design a monitoring system which has options to select interesting threads and synchronized actions. Using this tool, programmers can monitor only interesting threads and synchronization in more details by selecting options, and can detect a deadlock. It also provides profile information after execution, which summarizes behavior of running threads and synchronized actions during execution. We implement the system based on code inlining, and presents some experimental results.

References

  1. B. Bokowski, Andre Spiegel. Barat A Front-End for Java. Technical Report B-98-09 December 1998.Google ScholarGoogle Scholar
  2. B. Dufour, K. Driesen, L. Hendren and C. Verbrugge. Dynamic Metrics for Java. Proceedings of ACM OOPSLA '03, October, 2003, Anaheim, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. U. Erlingsson, The inlined reference monitor approach to secure policy enforcement, Ph.D thesis, Cornell University, January 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. E. Gamma, R. Helm, R. Johnson and J. Vlissides, Design Patterns:Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Gosling, B. Joy, and G. Steele, The Java Programming Language Specification, Addison-Wesley, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. AdaptJ:A Dynamic Application Profiling Toolkit for Java, http://www.sable.mcgill.ca/bdufou1/AdaptJGoogle ScholarGoogle Scholar
  7. Sun Microsystems, J2ME Wireless Toolkit, http://java.sun.com.Google ScholarGoogle Scholar
  8. Doug Lea, Concurrent Programming in Java(TM): Design Principles and Pattern, 2nd Edition, Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Sun Microsystems, Design of JFluid: A Profiling Technology and Tool Based on Dynamic Bytecode Instrumentation, 2003.11.Google ScholarGoogle Scholar
  10. http://www.netbeans.org/Google ScholarGoogle Scholar
  11. Jan Christiansen, Frank Huch: Searching for deadlocks while debugging concurrent haskell programs. ICFP 2004: 28--39 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Deepa Viswanathan, Sheng Liang: Java Virtual Machine Profiler Interface. IBM Systems Journal 39(1): 82-(2000) Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Heejung Ohe and Byeong-Mo Chang, An Exception Monitoring System for Java, Proceedings of Rapid Integration of Software Engineering, Nov. 2004, Luxembourg. Also available as LNCS 3475. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A thread monitoring system for multithreaded Java programs

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 41, Issue 5
          May 2006
          44 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1149982
          Issue’s Table of Contents

          Copyright © 2006 Authors

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 May 2006

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!