Patent ID: 8612171

Claim:
A non-transitory computer readable storage device storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: distinguishing combinatorial requirements and sequential requirements; modeling combinatorial requirements by a truth table and sequential requirements by a finite state machine to obtain a modeled specification; establishing an operation matrix relating input values of software with a probability of the input values being in succession and a transition time between the input values; selecting the successions of input values to be tested by performing a Monte Carlo draw on the operation matrix; determining a test case including test rows relating each selected succession of input values with expected output values based on the modeled specification; and stopping the determination process when a determined test case causes at least one of a verified percentage of function code, a verified percentage of requirements, a verification time, or a verification cost to reach a predetermined threshold, wherein the test case is for verifying at least one function of a piece of the software in relation to the modeled specification including requirements relating to input values and output values of the software, wherein the test case is automatically formulated.