Universal regexp-based mutation tool
Project description
This is a tool based purely on regexp-specified rewrite of code lines for mutation generation, including multi-language rules aided by special rules for languages or even projects.
More information on this project can be found at: https://www.cefns.nau.edu/~adg326/icse18t.pdf
HOW TO USE IT
To use this, you should really just do:
pip install universalmutator
then
mutate –help
SIMPLE EXAMPLE USAGE
mutate foo.py
or
mutate foo.swift
should, if you have the appropriate compilers installed, generate a bunch of valid, non-trivially redundant, mutants.
It will, right now, also have the side effect of executing foo.py if it is a script, not a module, many times, and leave some junk files in the directory, just FYI.
MORE INFORMATON
For much more information, again see https://www.cefns.nau.edu/~adg326/icse18t.pdf – demo/tool paper at ICSE 18.
The aim of this project is partly to see how quickly mutation can be applied to new languages, partly how much the work of a tool can be offloaded to the compiler / test analysis tools.
Authors: Alex Groce, Josie Holmes, Darko Marinov, August Shi, Lingming Zhang
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for universalmutator-0.8.2-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 605b88daea94093609fa081b4ce9cf01aea90b78820b3bbb08a3105897a8c274 |
|
MD5 | 7b21c725a4811701fe62d0f5696edcd8 |
|
BLAKE2b-256 | 9fa456ae7d7c4a6f24f53e808fe22a1b414f2e9626fa047d5f99728f19984670 |