Ticket #19 (new enhancement)

Opened 1 year ago

Test source code mutation - Generate AST mutation for W* nodes

Reported by: akhavr Assigned to: somebody
Priority: major Milestone:
Component: component1 Version:
Keywords: Cc:

Description

PyBeast

2. Test source code mutation

Call method: shell utility invocation

testmutation grammar.asdl src.python.module test.python.module failed-mutation/python/module/dir

Event flow:

  1. System reads the grammar.asdl and generates the mutations list
  2. If specified, System evals the config.py which contains mutation weights
  3. System reads src.python.module and parses into AST
  4. System executes a single mutation over the AST.
  5. 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:

  1. Parse and mutation generation over the complete body of PyBeast should take less than 1 sec.
  2. Complete process of testing a single PyBeast mutation should take less than 1 minute.

Tests:

  1. Generate AST mutation.