Compare

The open-source landscape

How saboteur fits among free and open-source mutation testing tools, taken from each project's own public documentation, checked 17 October 2026. Commercial tools are out of scope and are not covered. Numbers that come from a measurement are pinned to the measured versions and dated; nothing here is a claim about tools we did not measure.

Two open-source tools for Ruby

saboteur and mutineer are both MIT-licensed Ruby mutation testers that mutate one change at a time, run the covering tests and report what survived. The facts below come from each project's README, gemspec and RubyGems page.

saboteurmutineer
Latest gem on RubyGems0.8.0 (18 October 2026)1.6.0 (8 October 2026)
LicenseMITMIT
Ruby required3.3 or newer3.4 or newer
Test frameworksRSpec only, by designMinitest (default) and RSpec
Runtime dependenciesprism and fiddleNone beyond Prism and stdlib
ExecutionIn-process mutation in forked workers; Landlock sandbox on Linux 6.2+Fork-isolated parallel workers; optional daemon backend for Rails
Diff mode--since REF; pr preset: one baseline pass, 10-minute budget--since REF
Test selectionPer-example coverage map; infers the specs named after each mutated fileCoverage-guided: only test files covering the mutant's line
Kill verificationThe unchanged suite runs before mutating starts; a kill the suite cannot confirm stays out of the score--baseline compares a run against a prior JSON report
OperatorsAll operators on by default; opt out per operatorTier-1 set by default; Tier-2 via --operators
ReportsTerminal, self-contained HTML, Stryker-schema JSON, agent JSONHuman, JSON, self-contained HTML
CIGitHub Action, advisory by defaultGitHub Action on the Marketplace
Survivor reviewIgnore list with reasons and triage states; opt-in survivor baseline--baseline regression gate
A measured comparison exists and stays pinned to its versions: saboteur 0.1.0 against mutineer 1.6.0, measured 10 October 2026, kept in the benchmark archive with raw data. It describes those exact versions, not today's tools. A fresh re-measurement against current releases is pending.

Beyond Ruby: Stryker-style tools

The same idea exists in most ecosystems. These are the established open-source tools per language, from their own sites and repositories:

ToolLanguageTest setupLicense
mutineerRubyMinitest (default) and RSpecMIT
PITJava and the JVMWorks with Ant, Maven, Gradle and othersApache-2.0
StrykerJS, Stryker.NET, Stryker4sJavaScript and TypeScript, C#, ScalaTest-runner agnosticApache-2.0
cargo-mutantsRustcargo testMIT
mutmutPythonpytestBSD-3-Clause
InfectionPHPPHPUnit, Codeception, PHPSpecBSD-3-Clause

Details worth knowing, all from the projects' own pages:

Shared lineage

saboteur's design notes record the public work it builds on in docs/prior-art.md:

No source code, specs or fixtures from other mutation testing tools are used.

Where saboteur puts its effort

Sources

Checked 17 October 2026: