Resolving virtual calls in a scalable and precise way