Advertisement

Efficient Dependence Analysis for Java Arrays

  • Vivek Sarkar
  • Stephen Fink
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2150)

Abstract

This paper studies dependence analysis for Java arrays, emphasizing efficient solutions that avoid a large compile-time overhead. We present a new approach for dependence analysis based on sparse congruence partitioning representations in SSA form. Since arrays in Java are dynamically allocated, our approach takes pointer-induced aliasing of array objects into account in conjunction with analysis of index values. We present experimental results to evaluate the effectiveness of our approach, and outline directions for further improvements.

Keywords

Dependence Analysis Array Reference Program Language Design Innermost Loop Array Object 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    B. Alpern, M. N. Wegman, and F. Zadeck. Detecting equality of variables in programs. In ACM, editor, POPL’ 88. Proceedings of the conference on Principles of programming languages, January 13–15, 1988, San Diego, C A, pages 1–11, New York, NY, USA, 1988. ACM Press.Google Scholar
  2. 2.
    U. Banerjee. Loop transformations for restructuring compilers: the foundations. Kluwer Academic Publishers, Boston, MA, 1993.zbMATHGoogle Scholar
  3. 3.
    R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating Array Bounds Checks on Demand. In SIGPLAN 2000 Conference on Programming Language Design and Implementation, June2000.Google Scholar
  4. 4.
    M. Burke, J.-D. Choi, S. Fink, D. Grove, M. Hind, V. Sarkar, M. Serrano, V. Sreedhar, H. Srinivasan, and J. Whaley. The Jalapeño Dynamic Optimizing Compiler for Java. In ACM Java Grande Conference, June 1999.Google Scholar
  5. 5.
    M. Emami, R. Ghiya, and L. J. Hendren. Context-sensitive interprocedural points-to analysis in the presence of function pointers. In SIGPLAN’ 94 Conference on Programming Language Design and Implementation, pages 242–256, June 1994. SIGPLAN Notices, 29(6).Google Scholar
  6. 6.
    S. Fink, K. Knobe, and V. Sarkar. Unified analysis of array and object references in strongly typed languages. In Seventh International Static Analysis Symposium (2000), June 2000.Google Scholar
  7. 7.
    K. Gallivan, W. Jalby, and D. Gannon. On the Problem of Optimizing Data Transfers for Complex Memory Systems. Proceedings of the ACM 1988 International Conference on Supercomputing, pages 238–253, July 1988.Google Scholar
  8. 8.
    G. Goff, K. Kennedy, and C.-W. Tseng. Practical dependence testing. In SIGPLAN’ 91 Conference on Programming Language Design and Implementation, pages 15–29, 1991. SIGPLAN Notices, 266.Google Scholar
  9. 9.
    M. R. Haghighat and C. D. P. Hronopoulos. Symbolic analysis for parallelizing compilers. ACM Transactions on Programming Languages and Systems, 18(4):477–518, July 1996.Google Scholar
  10. 10.
    D. E. Maydan, J. L. Hennessy, and M. S. Lam. Efficient and exact data dependence analysis. In SIGPLAN’ 91 Conference on Programming Language Design and Implementation, pages 1–14, 1991. SIGPLAN Notices, 266.Google Scholar
  11. 11.
    W. Pugh and D. Wonnacott. Eliminating false data dependences using the omega test. Proceedings of the ACM SIGPLAN’ 92 Conference on Programming Language Design and Implementation, San Francisco, California, pages 140–151, June 1992.Google Scholar
  12. 12.
    B. Steensgaard. Points-to analysis in almost linear time. In 23rd Annual ACM SIGACT-SIGPLAN Symposium on the Principles of Programming Languages, pages 32–41, Jan. 1996.Google Scholar
  13. 13.
    R. P. Wilson and M. S. Lam. Efficient context-sensitive pointer analysis for C programs. In SIGPLAN’ 95 Conference on Programming Language Design and Implementation, pages 1–12, June 1995. SIGPLAN Notices, 30(6).Google Scholar
  14. 14.
    M. J. Wolfe. Optimizing Supercompilers for Supercomputers. Pitman, London and The MIT Press, Cambridge, Massachusetts, 1989. In the series, Research Monographs in Parallel and Distributed Computing.zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Vivek Sarkar
    • 1
  • Stephen Fink
    • 1
  1. 1.IBM Thomas J. Watson Research CenterYorktown HeightsUSA

Personalised recommendations