PyBeast
2. Test source code mutation
Call method: shell utility invocation
testmutation mutations.py src.python.module test.python.module failed-mutation/python/module/dir
Event flow:
- System evaluates mutations.py - the mutations list, which includes mutation weights
- System reads src.python.module and parses into AST
- System executes a single mutation over the AST.
- System runs test.python.module over the mutated and compiled AST. If tests didn't caught an change, system dumps mutated code into failed-mutation/python/module/dir
Timings:
- Parse and mutation generation over the complete body of PyBeast should take less than 1 sec.
- Complete process of testing a single PyBeast mutation should take less than 1 minute.
Tests:
- Test AST mutation, test fails.