A Practical and Comparative Study of Call Graph Construction Algorithms
A number of Call Graph construction algorithms have been designed for construction of Call Graphs for object-oriented languages. Each of the Call Graph contraction algorithms were proposed to keep in mind the improvements over previous Call Graphs in terms of precision, cost and accuracy. In object oriented languages the Call Graphs are generally contracted to represent the calling relationship between the program's methods. The Call Graph forms the bases for deducing the information about the classes and the methods that are actually invoked, this information can be used to find call sites were virtual function calls can be replaced by direct calls and inline-expansions can be put into work where ever possible.