Skip to main content

A Practical MHP Information Analysis for Concurrent Java Programs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3602))

Abstract

In this paper we present an implementation of May Happen in Parallel analysis for Java that attempts to address some of the practical implementation concerns of the original work. We describe a design that incorporates techniques for aiding a feasible implementation and expanding the range of acceptable inputs. We provide experimental results showing the utility and impact of our approach and optimizations using a variety of concurrent benchmarks.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • 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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. SPEC JVM98 Benchmarks, http://wwww.spec.org/jvm98

  2. Berndl, M., Lhoták, O., Qian, F., Hendren, L., Umanee, N.: Points-to analysis using BDDs. In: Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, pp. 103–114. ACM Press, New York (2003)

    Chapter  Google Scholar 

  3. Bogda, J., Holzle, U.: Removing unnecessary synchronization in Java. In: Proceedings of the ACM SIGPLAN 1999 Conference on Object-Oriented Programming, Systems, Languages, and Application, November 1999, pp. 35–46 (1999)

    Google Scholar 

  4. Choi, J.-D., Lee, K., Loginov, A., Sarkar, R.O.V., Sirdharan, M.: Efficient and precise datarace detection for multithreaded object-oriented programs. In: Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, Berlin, Germany (June 2002)

    Google Scholar 

  5. Dean, J., Grove, D., Chambers, C.: Optimization of object-oriented programs using static class hierarchy analysis. In: Olthoff, W. (ed.) ECOOP 1995. LNCS, vol. 952, pp. 77–101. Springer, Heidelberg (1995)

    Google Scholar 

  6. Emami, M., Ghiya, R., Hendren, L.J.: Context-sensitive interprocedural points-to analysis in the presence of function pointers. In: Proceedings of the ACM SIGPLAN 1994 Conference on Programming Language Design and Implementation, pp. 242–256 (1994)

    Google Scholar 

  7. Ruf, E.: Effective synchronization removal for Java. In: Proceedings of the ACM SIGPLAN 2000 Conference on Programming language design and implementation, June 2000, pp. 208–218 (2000)

    Google Scholar 

  8. Ferrante, J., Ottenstein, K.J., Warren, J.D.: The program dependence graph and its uses in optimization. ACM Transactions on Programming Languages and Systems (July 1987)

    Google Scholar 

  9. Flanagan, C., Freund, S.N.: Type-based race detection for Java. In: Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, pp. 219–232. ACM Press, New York (2000)

    Chapter  Google Scholar 

  10. Ferrante, J., Ottenstein, K., Warren, J.: Compile-time analysis and optimization of explicitly parallel programs. Journal of Parallel algorithms and applications (1997)

    Google Scholar 

  11. Lea, D.: Concurrent Programming in Java Design Principles and Patterns. Addison-Wesley, Reading (1997)

    MATH  Google Scholar 

  12. Lea, D.: Concurrent Programming in Java Design Principles and Patterns, 2nd edn. Addison-Wesley, Reading (1999)

    Google Scholar 

  13. Lee, J.: Compilation techniques for explicitly parallel programs. PhD thesis, University of Illinois at Unbana-Champaign (1999)

    Google Scholar 

  14. Lhoták, O.: Spark: A flexible points-to analysis framework for Java. Master’s thesis, McGill University (December 2002)

    Google Scholar 

  15. Naumovich, G., Avrumin, G.S., Clarke, L.A.: An efficient algorithm for computing MHP information for concurrent Java program. In: Proceedings of the 7th European engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering, Toulous, France (1999)

    Google Scholar 

  16. O’Callahan, R., Choi, J.-D.: Hybrid dynamic data race detection. In: Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming, pp. 167–178. ACM Press, New York (2003)

    Chapter  Google Scholar 

  17. Rountev, A., Milanova, A., Ryder, B.G.: Points-to analysis for Java using annotated constraints. In: Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, pp. 43–55. ACM Press, New York (2001)

    Chapter  Google Scholar 

  18. Sarkar, V.: Analysis and optimization of explicitly parallel programs using the parallel program graph representation. In: Proceedings of the 10th International Workshop on Languages and Compilers for Parallel Computing, Minneapolis, MN. LNCS. Springer, Heidelberg (1997)

    Google Scholar 

  19. Sarkar, V., Simons, B.: Parallel program graphs and their classification. In: Proceedings of ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, Montreal, Quebec, Canada (1998)

    Google Scholar 

  20. Steensgaard, B.: Points-to analysis in almost linear time. In: Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 32–41. ACM Press, New York (1996)

    Chapter  Google Scholar 

  21. Java Grande Benchmark Suite, http://www.epcc.ed.ac.uk/javagrande/javag.html

  22. Vallée-Rai, R., Hendren, L., Sundaresan, V., Lam, P., Gagnon, E., Co, P.: Soot - a Java optimization framework. In: Proceedings of CASCON 1999, pp. 125–135 (1999)

    Google Scholar 

  23. von Praun, C., Gross, T.R.: Object race detection. In: Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, pp. 70–82. ACM Press, New York (2001)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Li, L., Verbrugge, C. (2005). A Practical MHP Information Analysis for Concurrent Java Programs. In: Eigenmann, R., Li, Z., Midkiff, S.P. (eds) Languages and Compilers for High Performance Computing. LCPC 2004. Lecture Notes in Computer Science, vol 3602. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11532378_15

Download citation

  • DOI: https://doi.org/10.1007/11532378_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-28009-5

  • Online ISBN: 978-3-540-31813-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics