1. Generating a group of mutants from the original
program P by using mutant operators.
2. Executing the mutants and the original program P
by using a same set of data T, then recording their
output. If the output of a mutant is different from
the original program’s on some input data, we call
the mutant is killed by the input data. Otherwise
the mutant is alive.
3. All living mutants would be checked to determine
that if they equivalent to the original program P.
4. Do further testing on nonequivalent mutants by
adding test data until getting a satisfied mutation
score MS. MS is computed as follows: