Skip to main content

Table 2 Mutation fitness

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)]