Test-Adequacy Assessment Using Program Mutation
7.10.10.8 Twiddle Mutations
Values of variables or expressions can often be off the desired value by
±1. The twiddle mutations model such faults. Twiddle mutations are use-
ful for checking boundary conditions for scalar variables.
Each scalar reference x is replaced by pred(x) and succ(x), where pred
and succ return, respectively, the immediate predecessor and the imme-
diate successor of the current value of the argument. When applied to
a float argument, a small value is added (by succ) to, or subtracted (by
pred) from, the argument. This value can be user defined, such as ±.01,
or may default to an implementation-defined value.
Example 7.43: Consider the assignment: p = a + b. Assuming that
p, a, and