15. The non-transitory computer-readable medium of claim 5 , wherein identifying the first sequence of two or more boolean statements includes selecting the first sequence of two or more boolean statements from a library of semantically equivalent sequences of boolean statements.
5. A non-transitory computer-readable medium storing a computer program having instructions for obfuscating code, the instructions comprising: identifying a first boolean statement in a first conditional expression in a computer program, wherein in response to a one or more input values the first boolean expression evaluates to a corresponding first boolean value, wherein a first set of instructions is executed only when the first conditional expression evaluates to a first value based at least in part on the first boolean value; identifying preferences for determining a level of obfuscation to be applied to the system; selecting from a conditional expression library, based on said preferences, a first sequence of two or more boolean statements that is semantically equivalent to the first boolean statement, wherein the first sequence of two or more boolean statements when executed together evaluate to the corresponding first boolean value in response to the one or more input values, and further wherein each boolean statement in the first sequence of two or more boolean statements differs from the first boolean statement; replacing the first boolean statement with the semantically equivalent first sequence of two or more boolean statements; selecting a first subset of the first set of instructions comprising less than all of the first set of instructions; and reordering the instructions such that the first subset of the first set of instructions to execute before completing execution of the first sequence of two or more boolean statements and remaining instructions in the first set of instructions execute after completing execution of the first sequence of two or more boolean statements.