From: Searching and generating test inputs for mutation testing
Operator | Original expression | Mutant fitness | ||
---|---|---|---|---|
Relational | a > b | a > = b:abs(a-b) | a ! = b:abs(a-b + k) | true:abs(a-b) |
a < b:k | a == b:abs(a-b) | false:abs(a-b + k) | ||
a < = b:0 | ||||
a > = b | a > b:abs(a-b) | a ! = b:abs(a-b) | true:abs(a-b + k) | |
a < b:0 | a == b:abs(a-b + k) | alse:abs(a-b) | ||
a < = b:k | ||||
a < b | a > b:k | a ! = b:abs(a-b + k) | true:abs(a-b) | |
a > = b:0 | a == b:abs(a-b) | false:abs(a-b + k) | ||
a < = b:abs(a-b) | ||||
a < = b | a > b:0 | a ! = b:abs(a-b) | true:abs(a-b + k) | |
a > = b:k | a == b:abs(a-b + k) | false:abs(a-b) | ||
a < b:abs(a-b) | ||||
a ! = b | a > b:abs(a-b + k) | a < = b:abs(a-b) | true:abs(a-b) | |
a > = b:abs(a-b) | a == b:0 | false:k | ||
a < b:abs(a-b + k) | ||||
a == b | a > b:abs(a - b) | a < = b:abs(a-b + k) | true:k | |
a > = b:abs(a-b + k) | a ! = b:0 | false:abs(a-b) | ||
a < b:abs(a - b) | ||||
Arithmetic | a + b | a - b:k | a / b:k | a:k |
a * b:k | a% b:k | b:k | ||
a – b | a + b:k | a / b:k | a:k | |
a * b:k | a% b:k | b:k | ||
a * b | a + b:k | a / b:k | a:k | |
a - b:k | a% b:k | b:k | ||
a / b | a + b:k | a * b:k | a:k | |
a – b:k | a% b:k | b:k | ||
a% b | a + b:k | a * b:k | a:k | |
a – b:k | a / b:k | b:k | ||
Absolute | a | abs(a):abs(a + k) | -abs (a):abs(a) | 0:abs(a) |
Logical | a && b | a||b:min[Tfit(a) + Ffit(b), Ffit(a) + Tfit(b)] | a:Tfit(a) + Ffit(b) | true:min [Ffit(a), Ffit(b)] |
b:Ffit(a) + Tfit(b) | false:Tfit(a) + Tfit(b) | |||
a || b | a&&b:min[Tfit(a)+ | a:Ffit(a) + Tfit(b) | true:Ffit(a) + Ffit(b) | |
Ffit(b), Ffit(a) + Tfit(b)] | b:Tfit(a) + Ffit(b) | false:min[Tfit(a), Tfit(b)] |