Skip to content

An example of C program to get started with Muteria

Notifications You must be signed in to change notification settings

muteria/example_c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Example for Muteria in C language.

There are for examples (scenario), each with a corresponding configuration file. Each requires some tools to be installed.

1. Using ctrl/conf.py

This requires GNU Gcov, Mart mutation tool and KLEE test generation tool to be installed. Muteria will enable test Generation with KLEE and coverage measurement with Gcov and mutation analysis with Mart. One may directly run from the following Docker image https://hub.docker.com/r/thierrytct/klee-semu. An interactive container may be started as following:

docker run -it --rm thierrytct/klee-semu bash

The analysis can be ran, using the configuration file ctrl/conf.py, as following:

muteria --config ctrl/conf.py --lang c run

2. Using ctrl/conf_semu.py

This requires GNU Gcov, Mart mutation tool and SEMu mutant test generation tool to be installed. Muteria will enable test Generation with SEMu and coverage measurement with Gcov and mutation analysis with Mart.

One may directly run from the following Docker image https://hub.docker.com/r/thierrytct/klee-semu. An interactive container may be started as following:

docker run -it --rm thierrytct/klee-semu bash

The analysis can be ran, using the configuration file ctrl/conf_semu.py, as following:

muteria --config ctrl/conf_semu.py --lang c run

3. Using conf/shadow.py

This requires GNU Gcov, Mart mutation tool and Shadow patch test generation tool to be installed. Muteria will enable test Generation with SEMu and coverage measurement with Gcov and mutation analysis with Mart.

One may directly run from the following Docker image https://hub.docker.com/r/thierrytct/cm, Which contains Shadow. The image is built from the repository https://github.com/thierry-tct/continuous_mutation_docker. An interactive container may be started as following:

docker run -it --rm thierrytct/cm bash

The analysis can be ran, using the configuration file ctrl/conf_shadow.py, as following:

muteria --config ctrl/conf_shadow.py --lang c run

4. Using conf/shadow_semu.py

This requires GNU Gcov, Mart mutation tool, SEMu mutant test generation tool and Shadow patch test generation tool to be installed. Muteria will enable test Generation with SEMu and coverage measurement with Gcov and mutation analysis with Mart.

One may directly run from the following Docker image https://hub.docker.com/r/thierrytct/cm, Which contains Shadow. The image is built from the repository https://github.com/thierry-tct/continuous_mutation_docker. An interactive container may be started as following:

docker run -it --rm thierrytct/cm bash

The analysis can be ran, using the configuration file ctrl/conf_shadow_semu.py, as following:

muteria --config ctrl/conf_shadow_semu.py --lang c run

TODO

  • Add case where we have timeout and segmentation fault (for muteria testing purposes)
  • Add a case where the program return a non 0 exit code (for chcking KLEE-REPLAY driver)

About

An example of C program to get started with Muteria

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published