Patent ID: 8800048

Claim:
A method of protecting a computer program with a parameter cloud, comprising: creating the parameter cloud, the parameter cloud having a state and a plurality of elements; defining an expected state of the parameter cloud for each called function of the computer program, the expected state including a set of selected elements from the plurality of elements of the parameter cloud and an assigned value for each member of the set of selected elements; and modifying the computer program, including: modifying at least one static portion of the each called function to depend on a current state of the parameter cloud so that during run-time, the each called function executes as indicated by original source code of the each called function when the current state is equivalent to the expected state of the parameter cloud for the each called function and the each called function executes in an unexpected manner when the current state is not equivalent to the expected state of the parameter cloud for the each called function; and modifying a calling function to transform the state of the parameter cloud to the expected state of the parameter cloud for the each called function prior to calling the each called function.