Thread-Sensitive Points-to Analysis for Multithreaded Java Programs | SpringerLink
Skip to main content

Thread-Sensitive Points-to Analysis for Multithreaded Java Programs

  • Conference paper
Computer and Information Sciences - ISCIS 2004 (ISCIS 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3280))

Included in the following conference series:

Abstract

Every running thread has its own thread context that consists of values of the fields of the target thread object. To consider the thread context in understanding the behaviors of concurrently running threads, we propose a thread-sensitive interprocedural analysis for multithreaded Java applications. Our thread-sensitive analysis exploits thread-context information, instead of the conventional calling-context information, for computing dataflow facts holding at a statement. The thread-sensitive analysis is highly effective in distinguishing dataflow facts for different threads, producing more precise dataflow information than non-thread-sensitive analysis. The analysis is also generally much more efficient than conventional (calling) context-sensitive analysis. It uses the target thread objects at a thread start site to distinguish different thread contexts. We give a thread-sensitive points-to analysis as an instance of thread-sensitive analysis. We have implemented it and give some experimental results. We discuss several possible applications of the analysis.

This Research was supported by the Sookmyung Women’s University Research Grants 2004.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
JPY 3498
Price includes VAT (Japan)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
JPY 17159
Price includes VAT (Japan)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
JPY 21449
Price includes VAT (Japan)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Andersen, L.: A program analysis and specialization for the C programming language. PhD. Thesis, DIKU (1994)

    Google Scholar 

  2. Blanchet, B.: Escape analysis for object-oriented languages: Applications to Java. In: Proceedings of ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 20–34 (1999)

    Google Scholar 

  3. Choi, J.-D., Gupta, M., Serrano, M., Sreedhar, V.C., Midkiff, S.: Escape analysis for Java. In: Proceedings of ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (1999)

    Google Scholar 

  4. Choi, J.-D., Lee, K., Loginov, A., O’Callahan, R., Sarkar, V., Sridharan, M.: Efficient and precise datarace detection for multithreaded object-oriented programs. In: Proceedings of ACM Conference on Programming Languages Design and Implementation, pp. 258–269 (2002)

    Google Scholar 

  5. Heintze, N.: Set-based program analysis. PhD. Thesis, Carnegie Mellon University (1992)

    Google Scholar 

  6. Heintze, N., Tardieu, O.: Ultra-fast aliasing analysis using CLA: A million lines of C code. In: Proceedings of ACM Conference on Programming Languages Design and Implementation, pp. 85–96 (1998)

    Google Scholar 

  7. Lea, D.: Concurrent programming in Java: Design principles and patterns. Addison-Wesley, Reading (2000)

    Google Scholar 

  8. Rountev, A., Milanova, A., Ryder, B.G.: Points-to analysis for Java using annotated constraints. In: Proceedings of ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (2001)

    Google Scholar 

  9. Salcianu, A., Rinard, M.: Pointer and escape analysis for multithreaded programs. In: Proceedings of ACM Symposium on Principles and Practice of Parallel Programming, pp. 12–23 (2001)

    Google Scholar 

  10. Ruf, E.: Effective synchronization removal for Java. In: Proceedings of ACM Conference on Programming Language Design and Implementation, pp. 208–218 (2000)

    Google Scholar 

  11. Steensgaard, B.: Points-to analysis in almost linear time. In: Proceedings of ACM Symposium on Principles of Programming Languages, pp. 32–41 (1996)

    Google Scholar 

  12. Whaley, J., Linard, M.: Compositional pointer and escape analysis for Java programs. In: Proceedings of ACM Conference on Object-Oriented Programming Systems, Languages, and Applications (1999)

    Google Scholar 

  13. Whaley, J., Lam, M.S.: An efficient inclusion-based points-to analysis for strictlytyped languages. In: Proceedings of Static Analysis Symposium (2002)

    Google Scholar 

  14. Whaley, J.: Joeq: A Virtual Machine and Compiler Infrastructure. In: Proceedings of ACM SIGPLAN Workshop on Interpreters, Virtual Machines and Emulators (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chang, BM., Choi, JD. (2004). Thread-Sensitive Points-to Analysis for Multithreaded Java Programs. In: Aykanat, C., Dayar, T., Körpeoğlu, İ. (eds) Computer and Information Sciences - ISCIS 2004. ISCIS 2004. Lecture Notes in Computer Science, vol 3280. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30182-0_95

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30182-0_95

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23526-2

  • Online ISBN: 978-3-540-30182-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics