1. A system for optimizing the operation of a program in a multiple-processor computing system, the system comprising: a computer system comprising a plurality of processors; a target program written to run on the computer system; a Veil program having coded therein a means to: (a) wrap the target program with a run-time analyzer; (b) select one parallelization strategy from a plurality of parallelization strategies; (c) parallelize the target program according to the one parallelization strategy; (d) execute the target program; (e) record execution results of the target program; and (f) if there are further parallelization strategies in the plurality of parallelization strategies, change the one parallelization strategy to a next parallelization strategy from the plurality of parallelization strategies and repeat steps a-f; (g) compare the execution results and select a best parallelization strategy having a best execution result; and (h) parallelize the target application using the best parallelization strategy with the best execution result.