Dependence Analysis for Java

  • Craig Chambers
  • Igor Pechtchanski
  • Vivek Sarkar
  • Mauricio J. Serrano
  • Harini Srinivasan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1863)


We describe a novel approach to performing data dependence analysis for Java in the presence of Java’s “non-traditional” language features such as exceptions, synchronization, and memory consistency. We introduce new classes of edges in a dependence graph to model code motion constraints arising from these language features. We present a linear-time algorithm for constructing this augmented dependence graph for an extended basic block.


Abstract Location Basic Block Dependence Graph Dependence Analysis Exception Handler 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    B. Alpern, A. Cocchi, D. Lieber, M. Mergen, and V. Sarkar. Jalapeño —a Compiler-Supported Java Virtual Machine for Servers. In ACM SIGPLAN 1999 Workshop on Compiler Support for System Software (WCSSS’99), May 1999. Also available as INRIA report No. 0228, March 1999.Google Scholar
  2. 2.
    K. Arnold and J. Gosling. The Java Programming Language. Addison-Wesley, 1996.Google Scholar
  3. 3.
    M. G. Burke, J.-D. Choi, S. Fink, D. Grove, M. Hind, V. Sarkar, M. J. Serrano, V. C. Sreedhar, H. Srinivasan, and J. Whaley. The Jalapeño Dynamic Optimizing Compiler for Java. In ACM Java Grande Conference, June 1999.Google Scholar
  4. 4.
    J.-D. Choi, D. Grove, M. Hind, and V. Sarkar. Efficient and precise modeling of exceptions for the analysis of Java programs. In Proc. of the ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, Toulouse, France, Sept. 1999.Google Scholar
  5. 5.
    R. Cytron and J. Ferrante. What’s in a Name? Or the Value of Renaming for Parallelism Detection and Storage Allocation. Proceedings of the 1987 International Conference on Parallel Processing, pages 19–27, August 1987.Google Scholar
  6. 6.
    R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck. Efficiently Computing Static Single Assignment Form and the Control Dependence Graph. ACM Transactions on Programming Languages and Systems, 13(4):451–490, October 1991.Google Scholar
  7. 7.
    J. Dean, G. DeFouw, D. Grove, V. Litvinov, and C. Chambers. Vortex: An optimizing compiler for object-oriented languages. In ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA), San Jose, CA, Oct. 1996.Google Scholar
  8. 8.
    A. Diwan, K. S. McKinley, and J. E. B. Moss. Type-based alias analysis. In SIGPLAN’ 98 Conference on Programming Language Design and Implementation, pages 106–117, May 1998.Google Scholar
  9. 9.
    G. R. Gao and V. Sarkar. Location Consistency: Stepping Beyond the Memory Coherence Barrier. International Conference on Parallel Processing, August 1995.Google Scholar
  10. 10.
    G. R. Gao and V. Sarkar. On the Importance of an End-To-End View of Memory Consistency in Future Computer Systems. Proceedings of the 1997 International Symposium on High Performance Computing, Fukuoka, Japan, November 1997.Google Scholar
  11. 11.
    S. S. Muchnick. Advanced Compiler Design & Implementation. Morgan Kaufmann Publishers, Inc., San Francisco, California, 1997.Google Scholar
  12. 12.
    W. Pugh. A new memory model for Java. Note sent to the JavaMemoryModel mailing list,, October 22, 1999.
  13. 13.
    W. Pugh. Fixing the Java Memory Model. In ACM Java Grande Conference, June 1999.Google Scholar
  14. 14.
    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
  15. 15.
    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 2000

Authors and Affiliations

  • Craig Chambers
    • 1
  • Igor Pechtchanski
    • 1
  • Vivek Sarkar
    • 1
  • Mauricio J. Serrano
    • 1
  • Harini Srinivasan
    • 1
  1. 1.IBM Thomas J. Watson Research CenterYorktown HeightsUSA

Personalised recommendations