Patent ID: 7865340

Claim:
A computer software product, including a computer readable medium in which computer program instruction are stored, which instructions, when read by a computer, cause the computer to perform: coverage tasks for testing a design and having members, each of said members being directed to respective ones of the coverage tasks; a plurality of instances of tests and test parameters associated with the design, said test parameters associated with the coverage tasks; an operative coupling with a random-based test generator, wherein said test generator comprises a user input for receiving as input a first set of test parameters; coverage data for the coverage tasks accumulated by the test generator based on a set of tests run on the design using the first set of test parameters, said set of tests being candidates for inclusion in an optimized regression suite; to receive a second set of test parameters different from the first set of test parameters; a behavioral model developed according to the first set of test parameters using coverage-directed test generation; results predicted by determining probabilities of covering said respective ones of the coverage tasks on said design by said members, to compute probabilities for each of the coverage tasks with the second set of test parameters, wherein each probability is a probability of covering the coverage tasks in a simulation that uses the second set of test parameters; wherein for each simulation a probability distribution for the probability that the coverage tasks are covered is determined; and to construct an optimization problem based on the computed probabilities and their distribution; an optimized regression suite; an operative coupling with an execution engine that, responsive to said probabilities, selects a first subset of the tests to define the optimized regression suite, wherein the execution engine is operable to: select the first subset, resulting in a set of simulations which is a regression suite; and execute a first subset of the tests from memory and prepared by the test generator responsive to the optimization problem; and wherein the executive engine is operatively coupled with a validation engine for validating an output of the execution engine and producing validation results, wherein the validation engine is operable to: determine whether a solution was obtained given a set of constraints; reset conditions for the optimization problem by selecting a second subset of tests from the memory to allow at least one of the constraints to be violated if no solution was obtained; impose a penalty for each constraint violation; and re-compute optimization by running the second subset of the tests on the design.