Relational Operator Mutants Revisited

H.M. Pillai and D.A. Gustafson (USA)


Software Testing, Mutation, Relational Operator.


The objective of the study was to find a way to reduce the cost of generating a test suite using mutation analysis, without degrading the quality of the resultant test suite. To investigate the presence of some relationships among the set of test cases that kill the relational operator mutants, we looked at three C++ programs. In each program, faults were introduced one at a time. For each faulty version of the program, five mutants were generated by replacing the relational operator with all other possible relational operators. A set of test cases was developed that consisted of test cases that killed the mutant. The percentage of the test cases that found the fault in the original program was noted. The set of test cases were also examined to study the relationships between them. The study revealed that definite relationships exist between the test suites that kill relational operator mutants. These inclusion relationships between the test suites implied that we could remove some of the mutants without affecting the performance of the test suites resulting from mutation analysis. For the programs studied the test suite selected by mutation analysis performed better than those formed by random, boundary and C0 testing.

Important Links:

Go Back