A virtual machine for executing Java bytecodes