Failing is the new passing
Source code manipulation
Pros
- Large number of mutations
- Close to the real code
- Understandable
Cons
- Hard to integrate
- Slow
- Uses disk
Byte code manipulation
Pros
- Fast
- Easy to integrate
- No source code
- Should be JVM lang agnostic
Cons
- Difficult
- Divorced from the code
- Hard to describe
Mutations
Activated
- Conditionals Boundary Mutator
- Increments Mutator
- Invert Negatives Mutator
- Math Mutator
- Negate Conditionals Mutator
- Return Values Mutator
- Void Method Calls Mutator
Deactivated
- Constructor Calls Mutator
- Inline Constant Mutator
- Non Void Method Calls Mutator
- Remove Conditionals Mutator
- Experimental Member Variable Mutator
- Experimental Switch Mutator