CheckOps
Muter
Muter is an MIT automated mutation testing tool for Swift, inspired by Stryker, PITest and Mull, for checking the effectiveness of iOS and macOS test suites.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
Muter is automated mutation testing for Swift, inspired by Stryker, PITest and Mull. It inserts defects into Swift code, runs the test suite, and reports which defects your tests failed to catch.
It integrates with Xcode and the command line, shows results inline in Xcode, and has a mode for detailed reports across a project. Configuration in muter.conf.yml sets the test command and excluded files, and an incremental mode supports per-commit runs.
In the quality loop Muter measures test strength for Apple-platform code.
The source code is at muter-mutation-testing/muter on GitHub under the MIT licence, with about 570 stars; the most recent commit was on 23 October 2026.
Features
- Swift mutations: Operators for Swift code.
- Xcode integration: Inline results.
- CLI reports: Project-level summaries.
- Incremental runs: Mutate changed code.
- Config file: Test command and exclusions.
- Coverage awareness: Skips uncovered code.
Pros
- Rare capability: Few mutation tools target Swift.
- Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 23 October 2026.
Cons
- macOS only: Requires Apple tooling.
- Slow builds: Each mutant needs test runs.
- Small community: Fewer contributors.
Usage and Links (Example)
brew install muter-mutation-testing/formulae/muter
muter init
muter
Resources:
Pricing
Muter is free and open source under the MIT licence.
Recommended for?
- iOS and macOS teams with good unit tests.
Conclusion
Muter fills the mutation testing gap for Swift.
Run it periodically rather than on every commit.
On CheckOps, Muter is filed under the Unit testing and Release & CI gates stages. Related tools listed here include Swift Testing, XCTest, StrykerJS, PIT (Pitest), mutmut and Infection. A short trial on a real project, with your own code, data and pipeline, is usually the fastest way to choose between them, because fit matters more than feature lists. Facts here come from the official site, documentation and repository, checked on 11 November 2026.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with Muter side by side.
SSwift TestingSwift Testing is Apple's open-source (Apache-2.0) testing library for Swift, using @Test and #expect macros, parameterised tests, traits and parallel execution, included in Xcode 16 and Swift 6 toolchains.Compare with Muter
XXCTestXCTest is Apple's testing framework for unit, performance and UI tests in Xcode projects across Apple platforms, with assertions, expectations for async code, performance metrics and code coverage.Compare with Muter
SStrykerJSStrykerJS is the Apache-2.0 mutation testing framework for JavaScript and TypeScript, part of the Stryker Mutator family (with Stryker.NET and Stryker4s), supporting Jest, Vitest, Mocha, Karma and more.Compare with Muter
PPIT (Pitest)PIT (Pitest) is an Apache-2.0 state-of-the-art mutation testing system for Java and the JVM that mutates bytecode to measure how well your tests detect faults, with Maven and Gradle plugins and HTML reports.Compare with Muter
Mmutmutmutmut is a BSD-3-Clause mutation testing tool for Python that changes your code in small ways and reports which mutants your tests fail to kill, with a terminal UI for browsing results.Compare with Muter
IInfectionInfection is a BSD-3-Clause AST-based mutation testing framework for PHP that measures test effectiveness with Mutation Score Indicator metrics, supporting PHPUnit, Pest, Codeception and phpspec.Compare with Muter