Skip to main content

The python3 bytecode based mutation analysis 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 3.6


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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xmutant-0.3.tar.gz (13.0 kB view details)

Uploaded Source

File details

Details for the file xmutant-0.3.tar.gz.

File metadata

  • Download URL: xmutant-0.3.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for xmutant-0.3.tar.gz
Algorithm Hash digest
SHA256 714007e179991cb82fb09155b1321835766b9ebe9f281c485043470a80c0dd4c
MD5 ce14e504c76adf1d0330c26edbd1b39b
BLAKE2b-256 f32a5fbc911f689c7541eca6298b558d9fe764ed4cdcc8cc5ade9756f85b497c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page