- Home
- Mutation Testing Tools
- Dextool Mutate
Dextool Mutate
What it is
Dextool Mutate is a free C and C++ mutation testing tool for Linux and self-hosted use. It evaluates test suites by introducing simulated faults, using conventional operators such as AOR, ROR, DCC, DCR, LCR, SDL, and UOI, as well as removing whole functions or methods. Reports are available in console, compiler warning, JSON, and HTML formats. It can flag useless, redundant, and near test cases to help developers review a suite. Mutate stores run state in SQLite, allowing interrupted phases to resume and prior results to be reused as code changes. Change-based runs can focus on modified lines and generate HTML or JSON diff reports. It supports parallel instances and documents Jenkins usage, with an approach described as suitable for other CI setups. Embedded projects can add a custom analyzer to interpret test output. The tool integrates without requiring changes to a project's build system. Documentation lists Ubuntu installation and dependencies including LLVM/Clang, CMake, SQLite, and a D compiler.
For and against
For
- Free plan and production-ready status are listed.
- Reports include console, compiler warning, JSON, and HTML.
- Interrupted test phases can resume from saved SQLite state.
- Change-based runs can focus on modified lines.
- Can integrate without modifying the project's build system.
Against
- Linux and self-hosted platforms are listed.
- Build requirements include LLVM/Clang, CMake, SQLite, and a D compiler.
The verdict
Dextool Mutate centers on checking whether C and C++ tests catch injected faults, with reporting and incremental runs for ongoing work. Its documented requirements and Linux orientation are relevant considerations for setup.
Who it suits
It suits C and C++ teams reviewing test effectiveness, including projects using GoogleTest, CTest, or Makefile workflows. It may also suit embedded projects that can provide a custom test-output analyzer.
On the record
- Build requirements
- The project README lists LLVM and libclang 14 or later, CMake 3.5 or later, SQLite 3.24 or later, and a D compiler as build requirements.github.com · read 4 Oct 2026
- CI integration
- The documentation describes Jenkins usage and says the approach should work with any CI server setup.joakim-brannstrom.github.io · read 4 Oct 2026
- Embedded systems
- Users can write a custom analyzer to interpret test output, including results from embedded test setups.joakim-brannstrom.github.io · read 4 Oct 2026
- Embedded testing
- For embedded systems, users can write a custom analyzer for test output, including signals for unstable tests.joakim-brannstrom.github.io · read 4 Oct 2026
- Incremental runs
- It saves run state in SQLite, allowing interrupted test phases to resume and previous results to be reused as code changes.joakim-brannstrom.github.io · read 4 Oct 2026
- Incremental testing
- It saves run state in a SQLite database and can resume interrupted work and reuse results across runs.joakim-brannstrom.github.io · read 4 Oct 2026
- License
- The repository's LICENSE file identifies the source code license as Mozilla Public License, version 2.0.github.com · read 4 Oct 2026
- Linux installation
- The README links Ubuntu installation instructions and Dockerfiles for Ubuntu and Fedora.github.com · read 4 Oct 2026
- Mutation operators
- It supports conventional operators including AOR, ROR, DCC, DCR, LCR, SDL and UOI, as well as removing entire functions or methods.joakim-brannstrom.github.io · read 4 Oct 2026
- Parallel execution
- Parallel runs share a SQLite database, and the maker says this approach scales reasonably well up to five instances.joakim-brannstrom.github.io · read 4 Oct 2026
- Platform and dependencies
- The project documents Ubuntu installation and lists LLVM/Clang, CMake, SQLite and a D compiler among its build and run dependencies.github.com · read 4 Oct 2026
- Project integration
- The tool integrates without requiring modifications to a project's build system.joakim-brannstrom.github.io · read 4 Oct 2026
- Project status
- The project README lists the Mutate plugin as production ready.github.com · read 4 Oct 2026
- Pull request workflow
- It supports change based testing that runs mutants on changed lines and can produce HTML or JSON reports for a diff.joakim-brannstrom.github.io · read 4 Oct 2026
- Pull request workflows
- Change-based testing can focus analysis and tests on changed lines, with HTML or JSON reports for the diff.joakim-brannstrom.github.io · read 4 Oct 2026
- Purpose
- Dextool Mutate is a C/C++ mutation testing tool that evaluates whether tests detect artificially injected faults.joakim-brannstrom.github.io · read 4 Oct 2026
- Reports
- It can produce console, compiler warning, JSON and HTML reports.joakim-brannstrom.github.io · read 4 Oct 2026
- Support and community
- The product page links to a Discord community, and the project README invites users to report issues on GitHub.joakim-brannstrom.github.io · read 4 Oct 2026