Freedom251 › Mutation Testing Tools
muttest

What muttest is
muttest is a free R package for mutation testing: it makes selected changes to code, runs tests and reports how often the tests catch those changes. Its percentage mutation score can help identify weak assertions, and file-level feedback points to areas that may need stronger checks. Users can select mutation types and locations, with operators covering arithmetic, comparisons, logic, literals, function calls, indexes, conditions and return values. Presets group several common mutation types.
The package supports testthat and cucumber workflows and provides HTML and JSON reports. Documentation links a CI guide covering GitHub Actions, score badges and thresholds; a July 2026 update describes parallel execution. The package page provides R installation commands, and the CRAN listing states a requirement of R 4.1.0 or later. The project identifies Jakub Sobolewski as its author and maintainer, and it is licensed under MIT plus a LICENSE file. Listed platforms include Linux, macOS and Windows.
Who it suits
muttest suits R developers who want to assess whether their tests catch code changes, including teams seeking CI checks or feedback on weak assertions.
What it does well
- Reports a percentage mutation score
- Offers HTML and JSON reports
- Supports CI workflows and score badges
- Includes configurable mutation types
What to know first
- Requires R 4.1.0 or later
- Requires testthat among its dependencies
Limits
The package requires R version 4.1.0 or later. Its documentation lists testthat among its dependencies.
Getting started
- Open the muttest website or package page.
- Install the package using the R command provided for the maker’s r-universe repository or CRAN.
- Use muttest with an R project and its test suite; the documentation lists testthat as a dependency.
- Choose mutation types and code locations to analyze.
- Review the mutation score and HTML or JSON reports.
Verdict
muttest provides configurable mutation testing, reports and CI guidance for R projects. Its documented runtime requirement is R 4.1.0 or later.
Questions
Is muttest free?
Yes. It is listed as free with a free plan and no free trial.
Which operating systems does it support?
The package lists Linux, macOS, and Windows among supported build platforms.
Which R test frameworks does it support?
The listed frameworks are testthat and cucumber.
What does muttest report?
It reports the percentage of mutations caught, surviving mutants, and files that may need stronger assertions. Reports are available in HTML and JSON.
Does muttest work in CI?
Its documentation links a guide for running it in CI, including GitHub Actions, score badges, and thresholds.
Who makes muttest, and what is its license?
Jakub Sobolewski is named as author and maintainer. The package is licensed under MIT plus a LICENSE file.
Facts from muttest's own pages
- CI
- The documentation index links a guide to running muttest in CI, including GitHub Actions and score badges. · jakubsob.r-universe.dev, 3 Oct 2026
- Configurable mutations
- Users choose what code changes to make and where to make them. · jakubsob.github.io, 3 Oct 2026
- File feedback
- The tool reports which files need stronger assertions. · github.com, 4 Oct 2026
- HTML report
- The package documentation lists a CI vignette describing how to run mutation tests on every push, add a score badge, and enforce thresholds. · github.com, 4 Oct 2026
- Install
- The package page provides an R install.packages command using the maker’s r-universe repository and CRAN. · jakubsob.r-universe.dev, 3 Oct 2026
- Intended users
- The project describes mutation testing as a way to find weak assertions in test suites, including suites generated with LLMs. · github.com, 4 Oct 2026
- License
- The package is licensed under MIT plus a LICENSE file. · mirror.clarkson.edu, 4 Oct 2026
- Maintainer
- The CRAN package listing names Jakub Sobolewski as author and maintainer. · stat.ethz.ch, 4 Oct 2026
- Maker
- The maker identifies himself as Jakub Sobolewski, a software engineer specializing in R and Shiny. · jakubsobolewski.com, 3 Oct 2026
- Mutation examples
- The maker’s examples include changing comparison operators to expose untested boundary cases. · jakubsobolewski.com, 3 Oct 2026
- Mutation score
- The mutation score is the percentage of mutants killed or errored among killed, survived, and errored mutants; mutants with no test coverage are excluded. · github.com, 4 Oct 2026
- Mutators
- Available mutators include operator, boolean, NA or NULL, function-call, string, numeric, index, condition, negation, and return-value changes. · github.com, 4 Oct 2026
- Package type
- muttest is an R package for mutation testing. · github.com, 4 Oct 2026
- Parallel execution
- The maker’s July 2026 update describes parallel execution as a muttest capability. · jakubsobolewski.com, 3 Oct 2026
- Preset mutators
- Preset collections cover arithmetic, comparison, logical, boolean, NA, numeric, index, string, and condition mutations. · github.com, 4 Oct 2026
- Purpose
- muttest measures test quality by applying small changes to code and checking whether the test suite catches them. · github.com, 4 Oct 2026
- Release
- The CRAN listing shows version 0.3.0, published July 21, 2026. · stat.ethz.ch, 4 Oct 2026
- Reporting
- The package includes HTML and JSON reporting. · jakubsobolewski.com, 3 Oct 2026
- Requirements
- The documentation index lists testthat among muttest’s dependencies. · jakubsob.r-universe.dev, 3 Oct 2026
- R test workflow
- The maker describes muttest as mutation testing for R and shows tests under the testthat framework. · jakubsobolewski.com, 3 Oct 2026
- Runtime requirement
- The CRAN package listing states that muttest depends on R version 4.1.0 or later. · stat.ethz.ch, 4 Oct 2026
- Supported build platforms
- The package page lists successful checks for Linux, macOS, Windows, and WebAssembly targets. · jakubsob.r-universe.dev, 3 Oct 2026
Where muttest stands on Freedom251
- Mutation Testing Tools#15 of 25