Static Heap Reachability Analysis for Java bytecode