Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

gpetiot/Frama-C-Mutation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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