Call Graph Article Index for
Call
Website Links For
Call
 

Information About

Call Graph




Call graphs are distinguished between context-insensitive and context-sensitive kinds.
For context-insensitive graphs, each procedure is represented as a node, and the arrows are all the possible calls between the nodes. In the case of context-sensitive graphs, the generating algorithm takes in consideration the parameters of the function call, which may result in a simpler and more relevant graph.

This term is frequently used in the Compiler and Binary Translation community. By tracking a call graph, it may be possible to detect anomalies of program execution or code injection attacks.


SOFTWARE



Free Software call-graph generators


; codeviz : a static call graph generator (the program is ''not'' run). Implemented as a patch to Gcc ; works for C and C++ programs.
; egypt : a small Perl script that uses gcc and Graphviz to generate the static call graph of a C or C++ program.
; gprof : part of the GNU Binary Utilities
; pycallgraph : a Python call graph generator that uses Graphviz .


Proprietary call-graph generators


; aiCall : Free evaluation version


Other, related tools


; , which in accordance to the Unix Philosophy doesn't handle graphics by itself.


SAMPLE GRAPH

A sample Call Graph generate from GProf analyzing itself (while analyzing itself):

  6032/9052 Propagate Flags "52" class="copylinks" target="_blank">{Link without Title}




--
 




-- 1507/1507 Cg Assemble
"38" class="copylinks" target="_blank">{Link without Title}
 




-- 1508/1508 Is Busy
"11" class="copylinks" target="_blank">{Link without Title}
 




-- 2/9 Print Name Only
"25" class="copylinks" target="_blank">{Link without Title}
  2/1510 Arc Add "31" class="copylinks" target="_blank">{Link without Title}




--
 




-- 24/24 Parse Spec
"19" class="copylinks" target="_blank">{Link without Title}
  1508/1508 Propagate Flags "52" class="copylinks" target="_blank">{Link without Title}




--
 




-- 24/24 Main
"1210" class="copylinks" target="_blank">{Link without Title}