Efficient Pointer Analysis of Java in Logic