Bytecode based mutation testing framework
Project description
This package provides a byte-code based mutation analysis framework for Python. It computes the mutation score (The quality score) of your doctests. Bytecode based mutation analysis ensures that invalid mutants are completely avoided (unlike source code based mutants), and also that trivial redundant and equivalent mutants (that can be distinguished by compiler) are already removed. It uses coverage analysis to ensure that only covered mutants that have a chance to be detected are run. It also includes randomized evaluation of equivalent mutants (use -a to set the number of attempts to be made).
Compatibility
It was tested on Python 2.7
To run
python xmutant.py -a <attempts> <module to be tested>
Mutation Operators (on bytecode)
modify constants
replace boolean comparators (< <= == != > >=)
replace arithmetic operators (+ - * / // ./. ** % << >> ^)
remove unary negation and invert
invert unary signs
swap ‘and’ and ‘or’ in boolean expressions
swap inplace ‘and’ and ‘or’ in assignments
swap ‘jump if * or pop’ and ‘jump if * and pop’
swap ‘pop if true’ and ‘pop if false’
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.