Patent ID: 7383540
Filing Date: 2008-06-03
Classification: G06F

Abstract:
1. A method for automatically altering execution flow of a first computer program while the first program is executing, the method comprising the steps of: executing the first program as a child of a second program, wherein instructions for the executing first program reside in respective memory locations of a computer and correspond to respective source code locations of the first program, and wherein the second program is operable for altering memory locations of the computer allocated to the child program, including memory designated for registers of the child program and memory designated for instructions of the child program; receiving by the second program a desired flow of execution for the first program from a user predefined list, wherein the list includes a plurality of jump instructions, each jump instruction defining respective originating and destination source code locations in the first program; and inserting the plurality of jump instructions into memory locations of the computer corresponding to respective originating source code locations of the first program defined by the respective jump instructions, wherein for each of the plurality of inserted jump instructions, execution flow in the first program jumps from the memory location corresponding to the respective jump instruction's originating source code location to the memory location corresponding to the respective jump instruction's defined destination source code location responsive to the first program encountering the memory location corresponding to the respective jump instruction's originating source code location, wherein the inserting is performed automatically by the second program responsive to the user predefined list.