A 'call graph' is a debugging aid which provides a representation of how one particular function calls other functions. One would use a call graph when trying to figure out what calls a particular function, or is called by a function, particularly when trying to track down why the code is failing.
[insert example here]
proc a {} {b; c} proc b {} {d; c} proc c {} {puts ok} proc d {} {puts hello}
The call graph here is (directed, caller above callee)
a / \ b | / \| d c
[insert pointers to tools for producing call graphs.]
Distinguish static call graph (derived by observing the source code) and dynamic call graph (derived by observing the calling "behavior" of a program).