12. A computing device, comprising: one or more processors; a storage device storing code for a program that is to be executed on the computing device; a plurality of sandboxing components that are each configured to execute the program on the computing device using respective software-based fault isolation techniques that are different from each other; and an application environment selector configured to select, from among the plurality of sandboxing components and based on a set of selection criteria, a first sandboxing component with which to execute the program.
12. A computing device, comprising: one or more processors; a storage device storing code for a program that is to be executed on the computing device; a plurality of sandboxing components that are each configured to execute the program on the computing device using respective software-based fault isolation techniques that are different from each other; and an application environment selector configured to select, from among the plurality of sandboxing components and based on a set of selection criteria, a first sandboxing component with which to execute the program. 17. The computing device of claim 12 , wherein the set of selection criteria comprises at least one of a type of the program, execution requirements associated with the program, a target level of program execution security, or a target program execution speed.