1. A method, comprising: gathering information with respect to inputs, outputs, and internal function of a legacy process by monitoring the legacy process during operation of the legacy process, the legacy process implemented by a legacy system of hardware components and software components; storing the information in a memory in communication with a processing device; defining from the gathered information a set of rules describing at least part of the behavior of the legacy system, wherein behavior is the sum of the responses of the legacy system to the set of possible legacy system inputs; testing a rule from the set of rules by first applying known valid inputs to the legacy process and verifying that the legacy system responds as predicted by the rule, and second applying known invalid inputs to the legacy process and verifying that the legacy system responds as predicted by the rule.