1. A computer-implementable method comprising: providing an instruction set architecture that comprises features to generate diverse copies of a program; using the instruction set architecture to generate diverse copies of a program; and providing a virtual machine for execution of one of the diverse copies of the program.