Certain types of errors in the coding of FORTRAN programs can be detected by careful analysis of the input/output usage of the variables in the program. It is easy to distinguish the value giving from the value receiving usages of variables within a statement. It is then easy to identify the input and output variables for statements and basic blocks. It is observed that a program variable must not be used as an input variable unless it has been used earlier in the program as an output variable. Conversely, once a variable has been used later in the program as an input variable, it should be expected that it will be used later in the program as an input variable. Algorithms are presented which employ depth-first searching techniques to these algorithms can also be used to determine the input and output parameters for entire subprograms. This capability extends the usefulness of these verification techniques, and can also be used in attempts to automate documentation production.
Osterweil, Leon J. and Fosdick, Lloyd D., "Automated Input/Output Variable Classification as an Aid to Validation of FORTRAN Programs ; CU-CS-037-74" (1974). Computer Science Technical Reports. 36.