1. A method for identifying infeasible execution paths in a program, the method comprising: identifying, by a computer, a plurality of execution paths in a program; and for each identified execution path in the program: reading a program statement in the execution path; in response to determining that the program statement is a procedure call, adding a location identification for the program statement read to a procedure call stack; in response to determining that the program statement is a return from a procedure: in response to determining that the most recently added location identification at the top of the procedure call stack corresponds to the return program statement, removing the most recently added location identification from the procedure call stack; in response to determining that the most recently added location identification at the top of the procedure call stack does not correspond to the return program statement: recording an infeasible execution path; and ending the reading of program statements in the execution path.