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.3-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c050f02b396ad3608164aabf22a29157bf1e4a23a46b2a04138af119dc5660b |
|
MD5 | 6272b89a5139d7a2ebe0f59c61243f2d |
|
BLAKE2b-256 | 47cb95ad30046f2d163fc92cbb5a3767c5e2c6fc11c227b01089ffd5a2615e06 |