Patent ID: 8726247

Claim:
A method of programming a device having a memory and a processor, the method comprising the steps of: inputting an application program in a first programming language; compiling the application program in the first programming language into a first intermediate code associated with the first programming language wherein the first intermediate code is interpretable by a first intermediate code virtual machine and not interpretable by a second intermediate code virtual machine; converting the first intermediate code into a second intermediate code by performing at least one operation to replace a construct in the first intermediate code with an equivalent construct in the second intermediate code, wherein the second intermediate code is interpretable by the second intermediate code virtual machine and not interpretable by the first intermediate code virtual machine; loading the second intermediate code into the memory of the device; providing the application with specific privileges; and upon detecting that the application attempts access to a data item on the device, determining whether the specific privileges of the application are sufficient to allow the application the access to the data item.