muttest
jakubsob.github.io
What it is
muttest is a free R package for mutation testing: it changes selected parts of R code and runs tests to measure which changes the test suite catches. Its mutation score reports the percentage of mutations caught, helping identify weak assertions. Users can choose what to change and where, with mutators for operators, boolean and NA or NULL values, function calls, strings, numbers, indexes, conditions, negation, and return values. Presets group common mutation types, including arithmetic, comparison, logical, numeric, string, and condition changes. Examples use testthat and show how changing comparison operators can expose untested boundary cases. Reports are available in HTML and JSON, with feedback on files that may need stronger assertions. Documentation links a guide for running checks in CI, including GitHub Actions, score badges, and thresholds. A July 2026 update describes parallel execution. The package supports Linux, macOS, and Windows, is licensed under MIT plus a LICENSE file, and requires R version 4.1.0 or later according to its CRAN listing.
Spec sheet
- Purpose
- muttest measures test quality by applying small changes to code and checking whether the test suite catches them.Read 4 Oct 2026 · github.com
- Intended users
- The project describes mutation testing as a way to find weak assertions in test suites, including suites generated with LLMs.Read 4 Oct 2026 · github.com
- License
- The package is licensed under MIT plus a LICENSE file.Read 4 Oct 2026 · mirror.clarkson.edu
- Maker
- The maker identifies himself as Jakub Sobolewski, a software engineer specializing in R and Shiny.Read 3 Oct 2026 · jakubsobolewski.com
- CI
- The documentation index links a guide to running muttest in CI, including GitHub Actions and score badges.Read 3 Oct 2026 · jakubsob.r-universe.dev
- Configurable mutations
- Users choose what code changes to make and where to make them.Read 3 Oct 2026 · jakubsob.github.io
- File feedback
- The tool reports which files need stronger assertions.Read 4 Oct 2026 · github.com
- 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.Read 4 Oct 2026 · github.com
- Install
- The package page provides an R install.packages command using the maker’s r-universe repository and CRAN.Read 3 Oct 2026 · jakubsob.r-universe.dev
- Maintainer
- The CRAN package listing names Jakub Sobolewski as author and maintainer.Read 4 Oct 2026 · stat.ethz.ch
- Mutation examples
- The maker’s examples include changing comparison operators to expose untested boundary cases.Read 3 Oct 2026 · jakubsobolewski.com
- 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.Read 4 Oct 2026 · github.com
- Mutators
- Available mutators include operator, boolean, NA or NULL, function-call, string, numeric, index, condition, negation, and return-value changes.Read 4 Oct 2026 · github.com
- Package type
- muttest is an R package for mutation testing.Read 4 Oct 2026 · github.com
- Parallel execution
- The maker’s July 2026 update describes parallel execution as a muttest capability.Read 3 Oct 2026 · jakubsobolewski.com
- Preset mutators
- Preset collections cover arithmetic, comparison, logical, boolean, NA, numeric, index, string, and condition mutations.Read 4 Oct 2026 · github.com
- R test workflow
- The maker describes muttest as mutation testing for R and shows tests under the testthat framework.Read 3 Oct 2026 · jakubsobolewski.com
- Release
- The CRAN listing shows version 0.3.0, published July 21, 2026.Read 4 Oct 2026 · stat.ethz.ch
- Reporting
- The package includes HTML and JSON reporting.Read 3 Oct 2026 · jakubsobolewski.com
- Requirements
- The documentation index lists testthat among muttest’s dependencies.Read 3 Oct 2026 · jakubsob.r-universe.dev
- Runtime requirement
- The CRAN package listing states that muttest depends on R version 4.1.0 or later.Read 4 Oct 2026 · stat.ethz.ch
- Supported build platforms
- The package page lists successful checks for Linux, macOS, Windows, and WebAssembly targets.Read 3 Oct 2026 · jakubsob.r-universe.dev
Strong points and limits
Strong points
- Reports mutation scores as percentages.
- Lets users select mutation types and locations.
- Provides HTML and JSON reports.
- Supports parallel execution.
- Runs on Linux, macOS, and Windows.
Limits
- Requires R version 4.1.0 or later.
- Lists testthat among its dependencies.
- Supports R as its listed language.
Who it suits
It suits R developers who want to find weak assertions in test suites, including suites generated with LLMs. The CI guide may be useful to teams that run mutation checks as part of their workflow.
Verdict
muttest gives R developers configurable mutation checks, score reporting, and CI guidance at no listed cost. It requires R 4.1.0 or later and lists testthat among its dependencies.
Where Specifiction places it
- Mutation Testing Tools#19 of 257.1