A technique for building a callgraph for a software program that includes
multiple function entry points using dynamic instrumentation. In one
example embodiment, this is achieved by inserting function count probe
code at each function entry point of each multiple entry function having
multiple function entry points in the software program. Inter-entry point
arc probe code is then inserted substantially before each arc source
address of an arc. A performance analysis tool is then used to collect
data resulting from execution of the software program including the
function count probe code and the inter-entry point arc probe code and to
obtain an actual function count value for each multiple entry function. A
callgraph is then built using the obtained actual function count values.