Patent ID: 8504997

Claim:
A method executed by at least one central processing unit (CPU) comprising: for each of at least one input to a computer software module, performing static code analysis, by the at least one CPU, to determine whether the input is relevant or irrelevant to validation of the computer software module, wherein: an input is relevant to the validation of the computer software module when different values of the input cause at least one portion of the computer software module to branch differently; an input is irrelevant to the validation of the computer software module when different values of the input do not cause any portion of the computer software module to branch differently; and the static code analysis is performed without executing the computer, software module; assigning, by the at least one CPU, a default concrete value to each irrelevant input among the at least one input to the computer software module; determining, by the at least one CPU, a set of concrete values for each relevant input among the at least one input to the computer software module; modeling an execution environment for the computer software module; for each irrelevant input to the computer software module, communicating its assigned default concrete value for input to the computer software module when the computer software module is executed within the modeled execution environment; and for each relevant input to the computer software module, communicating its determined set of concrete values for input to the computer software module when the computer software module is executed within the modeled execution environment.