1. A computer-implementable method comprising: providing an instruction set architecture that includes features to generate diverse copies of a program that specifies a virtual machine, wherein the features to generate diverse copies of a program comprise instruction semantics that provide for conditional execution using predicate registers and instruction semantics with a limited instruction set; using the instruction set architecture to generate diverse copies of the program, each diverse copy of the program being generated to target an associated modified version of the virtual machine; and generating an associated modified version of the additional virtual machine for execution of one of the diverse copies of the program.