Lets imagine we have a target node that is a float or double type <pfx:target>10.0</pfx:target>
below are how each of the different fuzzing techniques would change this decimal.
Note, the type of the node should be float or double and not actually decimal, however the terminology in this documentation is used loosely as it uses decimals to refer to either floats or doubles. Replace decimals Input
| Output
| Example States
| 0 | <pfx:target>0</pfx:target>
| pfx-target-0-ReplaceDecimal-0
| 1.0 | <pfx:target>1.0</pfx:target>
| pfx-target-0-ReplaceDecimal-1
| 1.2 | <pfx:target>1.2</pfx:target>
| pfx-target-0-ReplaceDecimal-2
| 2.5 | <pfx:target>2.5</pfx:target>
| pfx-target-0-ReplaceDecimal-3
| 20 | <pfx:target>20</pfx:target>
| pfx-target-0-ReplaceDecimal-4
|
Replace with random decimals Like Replace decimals except the value is randomly generated. The randomly generated value will be in the appropriate range depending if it is a float or a double.
Fuzzware does not do a good job of generating random decimals if no limitations are placed on the minimum and maximum value of the target element. This is because the range of the value is too great e.g. 1.1e-100 is very small, while 1.1 e100 is very big, and the tendency is to produce numbers at these extremes. If a narrow range can be specified for the decimal value then more appropriate random values will be generated.
|