A computer system and a computer-implemented method for generating test programs
that satisfy at least one termination criterion. The computer system includes a
hardware unit to transmit data. A processor is coupled to the hardware unit and
to a storage device. The storage device has stored therein at least one algorithm
and a plurality of routines. When the processor executes a routine(s), data is
generated. The routine causes the processor to access an algorithm, generate a
test program, and analyze a test program. A computer implemented method is also
disclosed for generating test programs.