11. A computer-implemented method comprising: identifying a plurality of computing devices, each computing device of the plurality of computing devices having a software component comprising a first translator component for translating programs in a portable format to a machine-specific instruction set, and a first sandbox component for executing programs translated to the machine-specific instruction set on the computing device using software-based fault isolation; identifying one or more second computing devices, from among of the plurality of computing devices, that have a given hardware configuration; and transmitting a second translator component and a second sandbox component to each of the second computing devices wherein each of the second computing devices is configured to: (i) receive the second translator component and the second sandbox component, and (ii) configure the software component of the second computing device to use the second translator component instead of using the first translator component to translate programs in the portable format to a machine-specific instruction set of the second computing device and to use the second sandbox component instead of using the first sandbox component to execute programs translated to the machine-specific instruction set of the second computing device.
11. A computer-implemented method comprising: identifying a plurality of computing devices, each computing device of the plurality of computing devices having a software component comprising a first translator component for translating programs in a portable format to a machine-specific instruction set, and a first sandbox component for executing programs translated to the machine-specific instruction set on the computing device using software-based fault isolation; identifying one or more second computing devices, from among of the plurality of computing devices, that have a given hardware configuration; and transmitting a second translator component and a second sandbox component to each of the second computing devices wherein each of the second computing devices is configured to: (i) receive the second translator component and the second sandbox component, and (ii) configure the software component of the second computing device to use the second translator component instead of using the first translator component to translate programs in the portable format to a machine-specific instruction set of the second computing device and to use the second sandbox component instead of using the first sandbox component to execute programs translated to the machine-specific instruction set of the second computing device. 14. The method of claim 11 wherein the second sandbox component comprises a validator component configured to verify that programs translated to the machine-specific instruction set of the second computing device do not include unsafe instructions, do not load or store data outside of the second sandbox component, and have control flow integrity.