Metainduction and PtogAam Mutation: RemeiAtic So6twaite Vatidation

A new type of software test, called mutation analysis, is introduced. A method of applying mutation analysis is described, and the design of several existing automated systems for applying mutation analysis to Fortran and Cobol programs is sketched. These systems have been the means for preliminary studies of the efficiency of mutation analysis and of the relationship between mutation and other systematic testing techniques. The results of several experiments to determine the effectiveness of mutation analysis are described, and examples are presented to illustrate the way in which the technique can be used to detect a wide class of errors, including many previously defined and studied in the literature. Finally, a number of empirical studies are suggested, the results of which may add confidence to the outcome of the mutation analysis of a program. This research was supported in part by The US Army Institute for Research in Management Information and Computer Science, ARO Grant No. DAAG29-78-G-0121 and The Office of Naval Research, Grant No. N00014-79-C-0231. School of Information and Computer Science Georgia Institute of Technology Atlanta, Georgia 30332 Department of Computer Science Yale University New Haven, Connecticut 06520 Department of Electrical Engineering and Computer Science University of California, Berkeley Berkeley, California, 94720 1

[1]  Cemal Yilmaz,et al.  Software Metrics , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[2]  Zohar Manna,et al.  Mathematical Theory of Computation , 2003 .

[3]  Richard J. Lipton,et al.  Social processes and proofs of theorems and programs , 1977, POPL.

[4]  Harlan D. Mills,et al.  Structured programming - theory and practice , 1979, The systems programming series.

[5]  Matthew M. Geller Test data as an aid in proving program correctness , 1978, CACM.

[6]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[7]  William E. Howden,et al.  Reliability of the Path Analysis Testing Strategy , 1976, IEEE Transactions on Software Engineering.

[8]  S. L. Gerhart,et al.  Toward a theory of test data selection , 1975, IEEE Transactions on Software Engineering.

[9]  James C. King,et al.  A new approach to program testing , 1974, Programming Methodology.

[10]  G. Metze,et al.  Fault diagnosis of digital systems , 1970 .

[11]  Peter Naur,et al.  Programming by action clusters , 1969 .