This paper describes a system that is currently being implemented to generate test data for programs written in ANSI FORTRAN. Given a path, the system symbolically executes the program and creates a set of constraints on the program’s input variables. If the set of constrains is linear, linear programming techniques are employed to solve the system of inequalities. A solution to the system of constrains is then a set of test data that will drive execution down the given path. If it can be determined that the set of constraints is inconsistent then the given path is shown to be nonexecutable. To increase the chance of detecting some of the more common programming errors, artificial constraints are temporarily created that simulate the error condition and an attempt is made to solve the augmented set of constraints. A symbolic representation of the program’s output variables in terms of the program’s input variables is also created. The symbolic representation is in a human readable form that facilitates error detection as well as being a possible aid in allegation generation and automatic program documentation.