← Graph

Mutant

tool 20 connections

Ruby mutation-testing tool authored by Markus Schirp. Takes code and its automated tests and applies a set of transformations (mutation operators) to discover unspecified semantics — code changes that no test catches. Core concepts: subjects (instance and class methods; potentially extensible to class-level DSL, constants, inheritance), match expressions (recursive-enumeration, class-scope, specific instance-/singleton-method forms) to tell the engine where to look, selection (tying subjects to tests via RSpec describe/context metadata or explicit coverage declarations in minitest), and mutation operators (semantic-reduction operators and auto-color replacements e.g. flipping < to <=, inverting &&/||, flipping integer signs). Produces unified-diff reports; alive mutations represent automatically-found holes equivalent to a human reviewer asking 'why can we do this change?'. Supports incremental mutation testing that restricts analysis to subjects touched in the current change, enabling CI use on large codebases. The 'aggregates' repository ships a mutation-testing script so contributors can run Mutant against any implementation; running Mutant against Krzywda's duck-typing implementation surfaced missing test coverage and structural duplication in a JIRA-inspired state machine.

category
tool
language
Ruby
about
Mutant tool
The repository includes a mutation-testing script using Mutant, which exposed flaws in the modeled state machine.
About using Mutant beyond regression detection.
about
Mutant tool
About CI integration strategy for Mutant.
Workshop exercises Mutant on small subjects including a range example.
about
Mutant tool
Talk introduces Mutant's nomenclature and use.
Question about Mutant's reporting capabilities.
Question about open-source usage of Mutant.
about
Mutant tool
Question about using Mutant as a refactoring aid.
about
Mutant tool
Points to Mutant as the tool that helps remove redundant semantics in Ruby, teed up for Schirp's follow-on talk.
about
Mutant tool
Listed as one of the tools that can raise Ruby's automation threshold.
person Markus Schirp
authored
Mutant tool
Schirp is the creator of Mutant.
tool Mutant
related_to
Mutant implements incremental mode that subsets subjects to only those touched in the current change.
tool Mutant
related_to
Match expressions are Mutant's mechanism for specifying target subjects.
tool Mutant
related_to
Subjects are Mutant's unit of mutation.
tool Mutant
related_to
Selection is Mutant's test-picking process.
tool Mutant
related_to
Mutant ships semantic-reduction and auto-color-replacement operators.
tool Mutant
related_to
Mutant reports mutations as alive or dead based on test outcome.
tool Mutant
uses
Ruby tool
Mutant is implemented in and targets Ruby code.
uses
Mutant tool
Repository ships a script to run mutation testing against implementations.
person Markus Schirp
works_on
Mutant tool
Mentions building Mutant and converting it to a commercial tool to keep it alive.
role: creator

Provenance

Read by
15 extractions