The call graph (CG) of a program represents the calling relationships between the procedures of the program. Each procedure is a node in the graph. A call from one procedure to another represented as a directed edge from the caller to the callee. A static CG is inferred from the program code and contains all procedure calls. A dynamic CG is constructed at runtime and contains only those calls that occurred during program execution.

[0] Berube, Paul Normand James. Methodologies for many-input feedback-directed optimization. University of Alberta, 2012.