Patent ID: 7343592
Filing Date: 2008-03-11
Classification: G06F

Abstract:
1. A method for creating a synthetic benchmark for a computer program, comprising: executing the computer program; recording selected statistical characteristics for each basic block of the executing computer program, wherein the selected statistical characteristics for each basic block comprise: mix distribution statistics regarding a fraction of instructions that are an Add instruction type, a Load instruction type and a Store instruction type; statistics regarding basic block size mean and standard deviation; and statistics regarding a frequency distribution of register dependencies for each possible input of each of the instruction types; using the recorded statistical characteristics to create a sequence of synthetic basic blocks, wherein using the recorded statistical characteristics to create a sequence of synthetic basic blocks comprises: calculating a size for each synthetic basic block from a normal distribution with a mean and standard deviation equal to the statistics regarding basic block size mean and standard deviation; and, for each instruction in each synthetic basic block: receiving hints from a user regarding a machine on which the benchmark is to be run to assist in creating the synthetic benchmark; creating a synthetic benchmark using the sequence of synthetic basic blocks and the received hints from a user, wherein the synthetic benchmark is representative of the computer program with respect to the selected statistical characteristics and is in a format that can be executed on a computer; and outputting the created synthetic benchmark.