public static int min(int a, int b) { int minVal; minVal = a; // 1 if (b < a) { // 2, 3 minVal = b; // 4, 5, 6, 7 } return minVal; }For each of the following mutations, decide whether it is
minVal = b;
if (b > a)
if (b < minVal)
Bomb();
delete the statement
minVal = a;
minVal = failOnZero(b);
Consider the relational operator. What mutation operators make sense for relational operators? How many mutation operators are there? How many of these must be redundant (at least for weak mutation)? Students interested in a deep dive can check out the subsumption hierarchies in Gary's paper.