smart-mutation-operator-generator
Installation
SKILL.md
Smart Mutation Operator Generator
Standard mutation (+→-, <→<=) tests generic arithmetic. Your bugs aren't generic. If your last three bugs were "forgot to check .is_expired()," no standard operator catches that. Write one that does.
Why standard operators plateau
| Standard operator | Catches | Misses |
|---|---|---|
+ ↔ - |
Arithmetic errors | API misuse, resource leaks, protocol errors |
< ↔ <= |
Off-by-one | Wrong method called on similar API |
| Remove statement | Unchecked side effects | Wrong order of operations on stateful API |
| Negate condition | Untested branches | Missing check entirely (not wrong check) |
Past 80% mutation score on standard operators, the survivors are mostly equivalent mutants. The real bugs live elsewhere.
Mining mutation operators from bug history
Your git log is a mutation operator database: