mutest-rs
mutest-rs is a free, open-source Rust tool for checking how effectively a test suite detects code changes.
What mutest-rs is
mutest-rs is a free, open-source Rust tool for checking how effectively a test suite detects code changes. It generates program mutations and evaluates them through the `cargo mutest run` subcommand on Cargo packages and workspaces. Mutation operators include boolean negation, call deletion, equality inversion, logical-operator swaps, arithmetic changes, and relational changes. The `--mutation-operators` option controls the active set and defaults to `all`. Documentation says packages that work with `cargo test` will generally run the same suite under mutation analysis. An experimental batching method combines mutations in separate program areas to increase parallel test evaluation; the default batch size is 1 and the batching algorithm is none. Safety handling considers the mutation scope and selected flag, with `--safe` as default plus cautious, risky, and unsafe options. Installation requires compiling the project yourself, including the mutest-runtime crate and local mutest-driver and cargo-mutest installation. The project relies on nightly Rust, targets Rust and Cargo test, supports parallel execution, and is dual licensed under Apache 2.0 and MIT.
Good
- Open-source and free under Apache 2.0 and MIT
- Cargo package and workspace integration
- Configurable mutation operators
- Experimental parallel mutation batching
- Safety flags for mutation handling
Watch out
- Installation requires compiling from source
- Requires the nightly Rust toolchain
- Described primarily as a research tool
- Batching defaults to none
Who it suits
mutest-rs suits Rust developers and researchers assessing test-suite strength with Cargo projects. It is especially relevant to users comfortable compiling Rust tools from source and using nightly Rust.
Verdict
mutest-rs provides mutation analysis directly through Cargo, with configurable operators and safety controls. Its source-build installation and nightly requirement make it better suited to Rust users comfortable with development tooling.
The facts
Each one read from mutest-rs's own pages, with the date it was checked.
What it does
- Batching default
- The batch size limit defaults to 1 and the batching algorithm defaults to none.checked 9 Oct 2026
- Build requirement
- The installation guide instructs users to build the `mutest-runtime` crate and install `mutest-driver` and `cargo-mutest` locally.checked 4 Oct 2026
- Cargo support
- The cargo mutest subcommand runs mutation analysis on Cargo packages and workspaces using standard Cargo target selection options.checked 9 Oct 2026
- Configuration
- Users can control the active mutation operators with the `--mutation-operators` argument; its default is `all`.checked 4 Oct 2026
- Installation
- The documented installation method is to compile the project from source; the site says compiling it yourself is currently the only option.checked 4 Oct 2026
- Installation limit
- The site says the only installation option is to compile mutest-rs yourself from source.checked 9 Oct 2026
- Integration
- The tool provides a Cargo-compatible interface and supports Cargo package and workspace targeting options.checked 4 Oct 2026
- License
- The project is dual-licensed under Apache 2.0 and MIT terms.checked 9 Oct 2026
- Mutation batching
- Mutation batching combines mutations from distinct parts of a program so more test cases can be evaluated in each iteration.checked 9 Oct 2026
- Mutation operators
- The documented operators include boolean negation, call deletion, arithmetic and logical operator swaps, and relational operator changes.checked 9 Oct 2026
- Nightly requirement
- The maker's repository says mutest-rs relies on the nightly Rust compiler toolchain.checked 9 Oct 2026
- Purpose
- mutest-rs generates and evaluates program mutations to assess Rust test suites.checked 9 Oct 2026
- Research status
- The project README describes mutest-rs as primarily a research tool originally developed for the maker’s ongoing PhD work.checked 4 Oct 2026
- Research use
- The site says mutest-rs is used in active research by the Software Testing Group in the University of Sheffield's School of Computer Science.checked 9 Oct 2026
- Safety
- The documentation describes a safety property for mutations based on the safety of the scope where they are introduced and the safety flag used to invoke the tool.checked 4 Oct 2026
- Safety handling
- The tool treats possibly unsafe contexts as unsafe and propagates potential unsafety through the call graph when generating mutations.checked 9 Oct 2026
- Safety options
- The default safety flag is --safe, and the tool also documents --cautious, --risky, and --unsafe flags.checked 9 Oct 2026
- Test compatibility
- The documentation says that if `cargo test` works for a package, `cargo mutest run` will generally run the same test suite under mutation analysis.checked 4 Oct 2026
- Workflow
- It runs through the `cargo mutest run` subcommand on Cargo packages and workspaces.checked 4 Oct 2026
Alternatives to mutest-rs
- 1
Mutatest
Free planOpen sourceAPILinuxmacOSSelf-hosted7.2Free plan - 2

ArcMutate
Free planLinuxmacOSSelf-hostedWindows6.7From $8 a month - 3
Mutant
Free planLinuxmacOS6.7From $250 a year - 4
MuJava
Free planLinuxmacOSWindows6.3Free plan - 5
pymute
Free planLinux6.3Free plan - 6
go-mutesting
Free planLinuxSelf-hosted6.2Free plan
