1. A software verification method comprising the steps of: generating a model which defines a set of executions for the software; and analyzing the model to verify the software operation; THE METHOD CHARACTERIZED IN THAT: a range analysis is performed to substantially optimize the size of the model, thereby reducing the search space of the model analyzed such that: all the reachable behaviors of a program represented by the software are preserved; and sizes of data variables are large enough to represent all possible values during any possible execution of the program.