Patent ID: 7353505

Claim:
A method for tracing the execution path of a computer program comprising at least one module including a plurality of instructions, at least one of said instructions being a branch instruction, the method comprising the steps of: instrumenting the computer program with instructions for defining the size of a predefined area of storage and instructions for outputting the contents of the storage area to a file at a predetermined period of time irrespective to the completion or non-completion of the trace; tracing the execution path of the computer program by: automatically identifying each branch instruction of the computer program; evaluating each branch instruction to be one of true and false; and responsive to an evaluation of true, automatically pushing at least one unique identifier into a said predefined area of storage, wherein said at least one unique identifier directly references a set of instructions executed as a result of said evaluation of true; and responsive to a determination that a plurality of unique identifiers in said predefined area of storage have been overwritten. re-instrumenting the instruction defining the size of the storage area to increase the size of the predefined area.