Using Constraints to Detect Equivalent Mutants

Mutation testing is a software testing technique that is considered to be very powerful, but is very expensive to apply. One open problem in mutation testing is how to automatically detect equivalent mutant programs. Currently, equivalent mutants are detected by hand, which makes it a very expensive and time-consuming process, and restricts the use of mutation testing. This paper presents a technique that uses mathematical constraints to automatically detect equivalent mutants. A tool Equivalencer has been developed to demonstrate this technique, and experimental results from using this tool are presented. Supported by the National Science Foundation under grant CCR-93-11967.

[1]  Douglas Baldwin,et al.  Heuristics for Determining Equivalence of Program Mutations. , 1979 .

[2]  A. Jefferson Offutt,et al.  Constraint-Based Automatic Test Data Generation , 1991, IEEE Trans. Software Eng..

[3]  J. C. Huang,et al.  An Approach to Program Testing , 1975, CSUR.

[4]  K. N. King,et al.  A fortran language system for mutation‐based software testing , 1991, Softw. Pract. Exp..

[5]  Elaine J. Weyuker,et al.  An Applicable Family of Data Flow Testing Criteria , 1988, IEEE Trans. Software Eng..

[6]  Richard G. Hamlet,et al.  Testing Programs with the Aid of a Compiler , 1977, IEEE Transactions on Software Engineering.

[7]  R.A. DeMillo,et al.  An extended overview of the Mothra software testing environment , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

[8]  Timothy Alan Budd,et al.  Mutation analysis of program test data , 1980 .

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

[10]  A. Jefferson Offutt,et al.  An integrated automatic test data generation system , 1991, J. Syst. Integr..

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

[12]  Charles N. Fischer,et al.  Crafting a Compiler , 1988 .

[13]  Dana Angluin,et al.  Two notions of correctness and their relation to testing , 1982, Acta Informatica.

[14]  J. A. Acree On mutation , 1980 .

[15]  Gregg Rothermel,et al.  An Experimental Determination of Su cient Mutation Operators , 1994 .

[16]  A. Jefferson Offutt,et al.  Using compiler optimization techniques to detect equivalent mutants , 1994, Softw. Test. Verification Reliab..