Compositional pointer and escape analysis for Java programs | Synapse