Abstract

We present two new, orthogonal techniques for improving the precision of equality-based dataflow analyses. Subtype Expansion models objects at a per-type granularity, enabling a form of subtype-restricted equality constraints, while Mutation Tracking uses a simple effect analysis to avoid a class of false aliases induced by the bidirectional nature of equality constraints. The utility and costs of these techniques are demonstrated in a context-sensitive interprocedural optimization implemented in the Marmot native Java compiler.

‚Äč