On program testing criteria

There are three commonly used criteria for program testing: each and every statement (branch) (path) in a program is executed at least once. This paper explores the complexity of proving the correctness of several classes of programs by testing. It turns out that even for very restrictive classes of programs, none of the commonly used test criteria is nearly sufficient to guarantee absence of errors. Then this paper proposes two new test criteria which suggest how to select test data to obtain confidence on program correctness beyond the requirement of having each statement, branch, or path to be executed at least once.

[1]  John B. Goodenough,et al.  Toward a theory of test data selection , 1975 .

[2]  James L. Elshoff,et al.  An Analysis of Some Commercial PL/I Programs , 1976, IEEE Transactions on Software Engineering.

[3]  Donald E. Knuth,et al.  An empirical study of FORTRAN programs , 1971, Softw. Pract. Exp..