• Home
  • Search
  • Simple and effective analysis of statically-typed object-oriented programs
  • Cite Icon9
  • https://doi.org/10.1145/236338.236367Copy DOI Icon

Simple and effective analysis of statically-typed object-oriented programs

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

To use modern hardware effectively, compilers need extensive control-flow information. Unfortunately, the frequent method invocations in object-oriented languages obscure control flow. In this paper, we describe and evaluate a range of analysis techniques to convert method invocations into direct calls for statically-typed object-oriented languages and thus improve control-flow information in object-oriented languages. We present simple algorithms for type hierarchy analysis, aggregate analysis, and interprocedural and intraprocedural type propagation . These algorithms are also fast, O (|procedures| * ∑ p procedure n p * v p ) worst case time (linear in practice) for our slowest analysis, where n p is the size of procedure p and v p is the number of variables in procedure p , and are thus practical for use in a compiler. When they fail, we introduce cause analysis to reveal the source of imprecision and suggest where more powerful algorithms may be warranted. We show that our simple analyses perform almost as well as an oracle that resolves all method invocations that invoke only a single procedure.

Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.