Patent 7120572 was granted and assigned to Sun Microsystems on October, 2006 by the United States Patent and Trademark Office.
A program authoring system, prior to distributing a program, preprocesses the program to verify the integrity of the program. The program is written in a language that uses a restricted set of data type specific instructions. The program preprocessor, upon verification of the program's integrity, generates a modified version of the program containing an array of supplemental information. The supplemental information consists of data type snapshots of the program stack and local variables immediately prior to execution of each of a set of identified target instructions, which are successors of conditional jump, unconditional jump, branch and flow control instructions, if any, in the program. In client devices that receive programs, a program verifier verifies the integrity of each received program. The instructions of the program are emulated to determine whether any instruction in the program would violate the data type restrictions for that instruction.