A system for executing a software application comprising a plurality of
hardware independent bytecodes is provided comprising a computing system
that generates bytecodes, a virtual machine, remote to the computing
system, that receives a plurality of bytecodes from said computing
system, and executes said plurality of bytecodes, a system for testing
said bytecodes against a set of predetermined criteria in which the
testing is securely distributed between said virtual machine and said
computing system so that the bytecode verification completed by the
computing system is authenticated by the virtual machine prior to the
execution of the bytecodes by said virtual machine. A method for
distributed bytecode verification is also provided.