1. A computer-implemented method for modifying execution of a computer program function having a plurality of instructions, comprising: a) in response to detecting an invocation of the computer program function, generating a directed graph representing the computer program function, the directed graph including a plurality of instruction nodes, each instruction node representing a corresponding instruction of the plurality of instructions; b) inserting, into the directed graph, one or more back edges that point from an instruction node representing a target of a branch instruction to an instruction node representing the branch instruction; c) manipulating the directed graph by employing the one or more back edges to perform at least one of adding or removing at least one additional instruction node to the directed graph; and d) translating the directed graph to an intermediate language representation of the computer program function.