Frama-C-Mutation icon indicating copy to clipboard operation
Frama-C-Mutation copied to clipboard

Generation of mutant programs

Mutation plugin for Frama-C

Generation of mutant programs.

Mutant programs (mutants for short) are the result of a mutation : a syntactically modification on the source program (on its instructions or its specification). A given mutant may or may not be semantically equivalent to the source program.

Here are the corresponding versions of Frama-C for each version of Mutation:

Frama-C Mutation
v17 Chlorine v0.3.x
v16 Sulfur v0.2.x

Building

autoconf
./configure
make
make install

Using Mutation

frama-c FILE -mut [-mut-code] [-mut-spec] [-mut-summary-file SUMMARY]

where 'FILE' is the file the plugin is applied to, 'SUMMARY' is the file where the list of the produced mutants will be written. Use the options '-mut-code' and '-mut-spec' to apply code-only mutations or spec-only mutations.

Here are some of the mutations applied by the Mutation plugin:

  • Replacement of a binary operator
  • Condition reversal
  • Loop invariant deletion
  • Postcondition deletion
  • Conjunction pruning
  • Replacement of numerical values