Java
Java Mutations
StatementBlock
Before
if (x) { y(); }
After
if (x) {}
Condition
Before
if (x) { y(); }
After
if (true) { y(); }
if (false) { y(); }
BinaryOp - Add
Before
int x = a + b;
After
int x = a - b;
int x = a * b;
BinaryOp - And
Before
boolean x = a && b;
After
boolean x = a || b;
BinaryOp - BitAnd
Before
int x = a & b;
After
int x = a | b;
int x = a ^ b;
BinaryOp - BitOr
Before
int x = a | b;
After
int x = a & b;
int x = a ^ b;
BinaryOp - BitXor
Before
int x = a ^ b;
After
int x = a & b;
int x = a | b;
BinaryOp - Div
Before
int x = a / b;
After
int x = a * b;
int x = a - b;
BinaryOp - Eq
Before
boolean x = a == b;
After
boolean x = a != b;
BinaryOp - Gt
Before
assert x > 0;
After
assert x <= 0;
assert x >= 0;
BinaryOp - Gte
Before
boolean x = a >= b;
After
boolean x = a < b;
boolean x = a > b;
BinaryOp - Lt
Before
boolean x = a < b;
After
boolean x = a >= b;
boolean x = a <= b;
BinaryOp - Lte
Before
boolean x = a <= b;
After
boolean x = a > b;
boolean x = a < b;
BinaryOp - Mul
Before
int x = a * b;
After
int x = a / b;
int x = a + b;
BinaryOp - Or
Before
boolean x = a || b;
After
boolean x = a && b;
BinaryOp - Rem
Before
int x = a % b;
After
int x = a * b;
int x = a / b;
BinaryOp - Shl
Before
int x = a << b;
After
int x = a >> b;
BinaryOp - Shr
Before
int x = a >> b;
After
int x = a << b;
BinaryOp - Ne
Before
boolean x = a != b;
After
boolean x = a == b;
BinaryOp - Sub
Before
int x = a - b;
After
int x = a + b;
int x = a / b;
Assign - AddAssign
Before
x += 1;
After
x -= 1;
x = 1;
Assign - BitAndAssign
Before
x &= 1;
After
x |= 1;
x = 1;
Assign - BitOrAssign
Before
x |= 1;
After
x &= 1;
x = 1;
Assign - BitXorAssign
Before
x ^= 1;
After
x &= 1;
x = 1;
Assign - DivAssign
Before
x /= 1;
After
x *= 1;
x = 1;
Assign - MulAssign
Before
x *= 1;
After
x /= 1;
x = 1;
Assign - NormalAssign
Before
x = 1;
After
x += 1;
x -= 1;
Assign - RemAssign
Before
x %= 1;
After
x *= 1;
x = 1;
Assign - ShlAssign
Before
x <<= 1;
After
x >>= 1;
x = 1;
Assign - ShrAssign
Before
x >>= 1;
After
x <<= 1;
x = 1;
Assign - SubAssign
Before
x -= 1;
After
x += 1;
x = 1;
ArrayDecl - Inline
Before
int[] x = {1, 2, 3};
After
int[] x = {};
Literal - BoolTrue
Before
boolean x = true;
After
boolean x = false;
Literal - BoolFalse
Before
boolean x = false;
After
boolean x = true;
Literal - String
Before
String x = "hello";
After
String x = "";
Literal - EmptyString
Before
String x = "";
After
String x = "bough";
Literal - Number
Before
x = 1;
After
x = 0;
x = 1;
x = -1;
Assert
Before
assert x > 0;
After
;
UnaryNot
Before
boolean x = !y;
After
boolean x = y;
SwitchCase
Before
switch (x) {
case 1:
break;
case 2:
break;
}
After
switch (x) {
case 2:
break;
}
switch (x) {
case 1:
break;
}