Bottom-up summary based pointer analysis for Java