JoranHonig / vertigo

Mutation Testing for Ethereum Smart Contracts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Incremental Mutation Testing

JoranHonig opened this issue · comments

It is very interesting to consider the use case of incremental mutation analysis.

The approach that I propose can be implemented in Vertigo is the following:

  • Each time we evaluate a mutant we generate a tuple of the mutation & the tests that kill the mutant (if the mutant is killed).
  • In each consecutive analysis run, for each mutant that we have seen before we first execute those tests that killed it the previous mutation analysis run.

This approach is based on the following hypothesis:

Within two versions of a program a majority of the mutants that are shared between the two increments of a program will be killed by the same tests.

Some related work:

Note that this is not the only approach to incremental mutation testing and that it might pay off to evaluate a different ideas

this works