Virtual method resolution with typed alias graphs

Markus Schordan , Wolfram Amme,

Virtual method resolution is one of the major issues in the analysis of object-oriented languages. The alias configurations that may occur during program execution and the close interdependence to determining the type of an object to which a receiver may point at a virtual call site are crucial for a precise compile time virtual method resolution. We perform a program analysis by solving a monotone data flow system and introduce typed alias graphs as data flow information sets. We are able to reduce the number of methods that may be invoked at run-time by determining the alias configurations and the types of dynamic objects at all program points.