Skip to main content

Table 1 Mutation rules for probes

From: Testing the robustness of controllers for self-adaptive systems

Type

Rule name

Description

A. Message

1. MsgNull

Replace by null value

 

2. MsgEmpty

Replace by empty string

 

3. MsgPredefined

Replace by predefined string

 

4. MsgNonPrintable

Replace by string with non-printable characters

 

5. MsgAddNonPrintable

Add non-printable characters to the string

 

6. MsgOverflow

Add characters to overflow max string size

B. Timestamp

1. TSEmpty

Replace by empty timestamp

 

2. TSRemove

Remove timestamp from response

 

3. TSInvalidFormat

Replace by timestamp with invalid format

 

4. TSDateMaxRange

Replace date in timestamp by maximum valid

 

5. TSDateMinRange

Replace date in timestamp by minimum valid

 

6. TSDateMaxRangePlusOne

Replace date in timestamp by maximum valid plus one

 

7. TSDateMinRangeMinusOne

Replace date in timestamp by minimum valid minus one

 

8. TSDateAdd100

Add 100 years to date in timestamp

 

9. TSDateSubtract100

Subtract 100 years from date in timestamp

 

10. TSInvalidDate

Replace date in timestamp by invalid date (e.g. February 29, 1985)

C. Variable name

1.VNRemove

Remove variable name

 

2. VNSwap

Replace by different valid variable name of same type

 

3. VNSwapType

Replace by different valid variable name of different type

 

4. VNInvalidFormat

Replace by variable name with invalid format

 

5. VNNotExist

Replace by non-existing variable name

D. Variable value

1. VVRemove

Remove variable value

 

2. VVInvalidFormat

Replace value by one with invalid format

 

3. VVNumAbsoluteMinusOne

Replace by -1a

 

4. VVNumAbsoluteOne

Replace by 1 a

 

5. VVNumAbsoluteZero

Replace by 0 a

 

6. VVNumAddOne

Add 1 a

 

7. VVNumSubtractOne

Subtract 1 a

 

8. VVNumMax

Replace by maximum number valid for type

 

9. VVNumMin

Replace by minimum number valid for type

 

10. VVNumMaxPlusOne

Replace by maximum number valid for type plus one

 

11. VVNumMinMinusOne

Replace by minimum number valid for type minus one

 

12. VVNumMaxRange

Replace by maximum number valid for variable

 

13. VVNumMinRange

Replace by minimum number valid for variable

 

14. VVNumMaxRangePlusOne

Replace by maximum number valid for variable plus one

 

15. VVNumMinRangeMinusOne

Replace by minimum number valid for variable minus one

 

16. VVBoolPredefined

Replace by predefined value b

  1. aNumber; bBoolean.