FREEDOM251

Freedom251 › Mutation Testing Tools

mutest-rs

Paid

Visit mutest-rs Alternatives

mutest-rs's own site

What mutest-rs is

mutest-rs generates changes to Rust programs and runs tests against them to assess how well a test suite detects those changes. It operates through the `cargo mutest run` subcommand on Cargo packages and workspaces. The documentation says that when `cargo test` runs successfully for a package, its test suite will generally run under mutation analysis too. Implemented operators include boolean negation, call deletion, equality inversion, logical operator swaps, arithmetic changes, and relational operator changes. Users can select active operators with `--mutation-operators`, which defaults to `all`. An experimental batching method combines mutations in distinct program areas to increase parallel evaluation of test cases. The tool uses Cargo package and workspace targeting options and documents safety options, with `--safe` as the default. mutest-rs is free and dual licensed under Apache 2.0 and MIT terms. Its README characterizes it primarily as a research tool, originally developed for the maker's ongoing PhD work, and the site says the Software Testing Group at the University of Sheffield uses it in active research. Installation currently requires compiling from source, and the maker's repository says it relies on the nightly Rust compiler toolchain.

Who it suits

mutest-rs suits Rust developers and researchers assessing the effectiveness of Cargo test suites. It is a fit for users comfortable compiling Rust tools from source and using the nightly toolchain.

What it does well

  • Works with Cargo packages and workspaces.
  • Supports multiple mutation operators.
  • Operator selection is configurable.
  • Experimental batching supports parallel test evaluation.
  • Free and dual licensed under Apache 2.0 and MIT.

What to know first

  • Installation requires compiling from source.
  • The nightly Rust compiler toolchain is required.
  • The project is described primarily as a research tool.

Limits

The documented installation path requires compiling from source, including local builds of `mutest-runtime`, `mutest-driver`, and `cargo-mutest`. The project relies on nightly Rust, and batching starts disabled with a default batch size of 1.

Getting started

  1. Install the nightly Rust compiler toolchain
  2. Compile mutest-rs from source
  3. Build the `mutest-runtime` crate
  4. Install `mutest-driver` and `cargo-mutest` locally
  5. Run `cargo mutest run` on a Cargo package or workspace
  6. Select mutation operators with `--mutation-operators` when needed

Verdict

mutest-rs offers mutation analysis through a Cargo-compatible workflow, with configurable operators and experimental batching. Its source-only installation and nightly compiler requirement make it better suited to users comfortable with Rust development tooling.

Questions

What language does mutest-rs support?

It supports Rust programs and uses Cargo packages and workspaces.

Which test framework does it use?

It works with Cargo test; packages that run with `cargo test` will generally run under mutation analysis.

Is mutest-rs free?

Yes. It is free, open source, and dual licensed under Apache 2.0 and MIT terms.

How is it installed?

The documented option is compiling the project from source, then building `mutest-runtime` and installing `mutest-driver` and `cargo-mutest` locally.

Can mutation operators be selected?

Yes. The `--mutation-operators` argument controls active operators and defaults to `all`.

Does it run mutations in parallel?

Yes. An experimental batching technique is intended to increase parallel evaluation of test cases.

Facts from mutest-rs's own pages

Batching default
The batch size limit defaults to 1 and the batching algorithm defaults to none. · mutest.rs, 9 Oct 2026
Build requirement
The installation guide instructs users to build the `mutest-runtime` crate and install `mutest-driver` and `cargo-mutest` locally. · mutest.rs, 4 Oct 2026
Cargo support
The cargo mutest subcommand runs mutation analysis on Cargo packages and workspaces using standard Cargo target selection options. · mutest.rs, 9 Oct 2026
Configuration
Users can control the active mutation operators with the `--mutation-operators` argument; its default is `all`. · mutest.rs, 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. · mutest.rs, 4 Oct 2026
Installation limit
The site says the only installation option is to compile mutest-rs yourself from source. · mutest.rs, 9 Oct 2026
Integration
The tool provides a Cargo-compatible interface and supports Cargo package and workspace targeting options. · mutest.rs, 4 Oct 2026
License
The project is dual-licensed under Apache 2.0 and MIT terms. · github.com, 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. · mutest.rs, 9 Oct 2026
Mutation operators
The documented operators include boolean negation, call deletion, arithmetic and logical operator swaps, and relational operator changes. · mutest.rs, 9 Oct 2026
Nightly requirement
The maker's repository says mutest-rs relies on the nightly Rust compiler toolchain. · github.com, 9 Oct 2026
Purpose
mutest-rs generates and evaluates program mutations to assess Rust test suites. · mutest.rs, 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. · github.com, 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. · mutest.rs, 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. · mutest.rs, 4 Oct 2026
Safety handling
The tool treats possibly unsafe contexts as unsafe and propagates potential unsafety through the call graph when generating mutations. · mutest.rs, 9 Oct 2026
Safety options
The default safety flag is --safe, and the tool also documents --cautious, --risky, and --unsafe flags. · mutest.rs, 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. · mutest.rs, 4 Oct 2026
Workflow
It runs through the `cargo mutest run` subcommand on Cargo packages and workspaces. · mutest.rs, 4 Oct 2026

Where mutest-rs stands on Freedom251

Look at these too