Patent ID: 7661095
Filing Date: 2010-02-09
Classification: G06F

Abstract:
1. A method of building a callgraph for multiple entry functions in a software program using dynamic instrumentation comprising: inserting function count probe code at each function entry point of each multiple entry function in the software program, wherein the multiple entry function has multiple function entry points; inserting inter-entry point arc probe code substantially before each arc source address of an arc in the software program; collecting data resulting from execution of the software program including the function count probe code and the inter-entry point arc probe code, wherein the collected data includes a function count value and an inter-entry point arc count value for each arc source address obtained from execution of the software program; adding function count values obtained at each function entry point to obtain a total function count value; determining whether each arc with a source address in a multiple entry function is associated with an arc target address at one of the function entry points of an associated multiple entry function, wherein at least one of the function entry points is associated with the total function count value; if yes, subtracting the inter-entry point arc count value from the associated total function count value to obtain an actual function count value for the associated multiple entry function; and constructing a callgraph using the actual function count value associated with each multiple entry function.