← Extractions

Mutant on steroids — Markus Schirp at wroclove.rb 2019

Markus Schirp's wroclove.rb 2019 talk introduces mutation testing and Mutant's nomenclature (subjects, match expressions, selection, mutation operators, alive/dead mutations) and preconditions (green/idempotent/random-order/concurrent/discoverable tests), followed by Q&A on Rails integration, refactoring uses, equivalent mutations, and incremental mutation testing as the practical entry point.

Model
claude-opus-4-7
Ingestion
c59d6493
Input tokens
226,935
fresh
114,327
cached
102,621
cache write
9,987
Output tokens
13,847
Duration
207.2s
Roundtrips
8
Tool calls
14
Cost
$0.00
Nodes/edges extracted
26 / 56
Read set (nodes/edges)
76 / 8

Nodes (26)

update Mutant on steroids talk
attrs {"type" => "talk"} {"type" => "talk", "year" => "2019"}
description Talk at wroclove.rb 2019. Markus Schirp's wroclove.rb 2019 conference talk, held the day after his mutation-testing workshop. Frames mutation t...
short_description Talk at wroclove.rb 2019. Markus Schirp's wroclove.rb 2019 talk introducing mutation testing and Mutant's vocabulary.
update Markus Schirp person
description Creator of Mutant, the mutation-testing tool for Ruby. Ran a mutation-testing workshop at wroclove.rb 2019. Krzywda c... Creator of Mutant, the mutation-testing tool for Ruby. Ran a mutation-testing workshop at wroclove.rb 2019 and delive...
update Mutant tool
attrs {"category" => "tool"} {"category" => "tool", "language" => "Ruby"}
description Ruby mutation-testing tool. The 'aggregates' repository ships a mutation-testing script so contributors can run Mutan... Ruby mutation-testing tool authored by Markus Schirp. Takes code and its automated tests and applies a set of transfo...
create Mutation Testing concept
kind (empty) concept
name (empty) Mutation Testing
slug (empty) mutation-testing
attrs (empty) {"category" => "practice"}
description (empty) A strong form of coverage dating back to the 1970s. A derived, automatable check: the tool takes code and tests, appl...
short_description (empty) Coverage technique that mutates code and checks whether tests catch the change.
create Mutation Testing Preconditions concept
kind (empty) concept
name (empty) Mutation Testing Preconditions
slug (empty) mutation-testing-preconditions
attrs (empty) {"category" => "practice"}
description (empty) Schirp's list of preconditions a test suite must satisfy before mutation testing is useful: (1) green tests — mutatio...
short_description (empty) Test-suite properties required for mutation testing to work in practice.
create Match Expression concept
kind (empty) concept
name (empty) Match Expression
slug (empty) match-expression
attrs (empty) {"category" => "pattern"}
description (empty) Mutant-specific concept telling the engine where to look for subjects. Three forms: (1) recursive enumeration over a ...
short_description (empty) Mutant syntax specifying which subjects the engine should target.
create Subject (Mutant) concept
kind (empty) concept
name (empty) Subject (Mutant)
slug (empty) subject-mutant
attrs (empty) {"category" => "pattern"}
description (empty) In Mutant, a subject is anything that has tests and can be mutated. Currently limited to Ruby instance methods and cl...
short_description (empty) The thing Mutant mutates — currently a Ruby instance or class method.
create Selection (Mutant) concept
kind (empty) concept
name (empty) Selection (Mutant)
slug (empty) selection-mutant
attrs (empty) {"category" => "pattern"}
description (empty) The process Mutant uses to find the corresponding tests for a given subject. Selection defines mutation-testing speed...
short_description (empty) Process of finding the tests corresponding to a subject under mutation.
create Mutation Operator concept
kind (empty) concept
name (empty) Mutation Operator
slug (empty) mutation-operator
attrs (empty) {"category" => "pattern"}
description (empty) A transformation that takes a concrete subject into a different form such that, if undetected by the tests, forms a r...
short_description (empty) Transformation applied to a subject to produce a mutation.
create Alive and Dead Mutations concept
kind (empty) concept
name (empty) Alive and Dead Mutations
slug (empty) alive-and-dead-mutations
attrs (empty) {"category" => "pattern"}
description (empty) A mutation is the application of an operator against a subject, followed by running the selected tests. If the tests ...
short_description (empty) A mutation is 'alive' if tests still pass, 'dead' if a test fails.
create Equivalent Mutation concept
kind (empty) concept
name (empty) Equivalent Mutation
slug (empty) equivalent-mutation
attrs (empty) {"category" => "pattern"}
description (empty) A mutation that cannot be killed because it is equivalent in observable semantics to the original. Scientific literat...
short_description (empty) A mutation whose behavior is semantically indistinguishable from the original.
create Incremental Mutation Testing concept
kind (empty) concept
name (empty) Incremental Mutation Testing
slug (empty) incremental-mutation-testing
attrs (empty) {"category" => "practice"}
description (empty) Mutant's mode of operation that restricts analysis to subjects touched in the current iteration/PR. Rationale: develo...
short_description (empty) Running a mutation testing tool only on subjects touched in the current change.
create Mutation testing workshop wroclove.rb 2019 talk
kind (empty) talk
name (empty) Mutation testing workshop wroclove.rb 2019
slug (empty) mutation-testing-workshop-wroclove-rb-2019
attrs (empty) {"type" => "workshop"}
description (empty) Pre-conference workshop given by Markus Schirp at wroclove.rb 2019, the day before his 'Mutant on steroids' talk. Par...
short_description (empty) Markus Schirp's hands-on mutation-testing workshop the day before his talk.
create Heckle tool
kind (empty) tool
name (empty) Heckle
slug (empty) heckle
attrs (empty) {"category" => "tool"}
description (empty) A Haskell mutation-testing tool cited by Schirp as a 'logical predecessor' to Mutant. He first encountered it while w...
short_description (empty) Early Haskell mutation testing tool, a logical predecessor to Mutant.
create DataMapper 2 project
kind (empty) project
name (empty) DataMapper 2
slug (empty) datamapper-2
attrs (empty) {"status" => "historical"}
description (empty) Ambitious successor project to the DataMapper Ruby ORM, which included the axiom relational-algebra engine (a sub-pro...
short_description (empty) Ambitious Ruby ORM successor project where Schirp first met mutation testing.
create axiom project
kind (empty) project
name (empty) axiom
slug (empty) axiom
attrs (empty) {"status" => "historical"}
description (empty) Very ambitious sub-project of DataMapper 2: a relational-algebra engine implemented in Haskell. Used the Haskell muta...
short_description (empty) Relational algebra engine sub-project of DataMapper 2.
create Start mutation testing incrementally takeaway
kind (empty) takeaway
name (empty) Start mutation testing incrementally
slug (empty) start-mutation-testing-incrementally
attrs (empty) {"type" => "recommendation"}
description (empty) Don't try to eradicate alive mutations on a whole legacy codebase. Start tomorrow by running Mutant in incremental mo...
short_description (empty) Adopt mutation testing on large codebases only on subjects touched by current changes.
create Mutation testing replaces dumb review questions takeaway
kind (empty) takeaway
name (empty) Mutation testing replaces dumb review questions
slug (empty) mutation-testing-replaces-dumb-review-questions
attrs (empty) {"type" => "insight"}
description (empty) Running Mutant for 10–20 seconds per subject mechanically answers ~90% of questions a human reviewer would ask (shoul...
short_description (empty) Mutation testing answers ~90% of mechanical review questions automatically, freeing human reviewers.
create Mutant as complexity metric and refactoring guide takeaway
kind (empty) takeaway
name (empty) Mutant as complexity metric and refactoring guide
slug (empty) mutant-as-complexity-metric-and-refactoring-guide
attrs (empty) {"type" => "insight"}
description (empty) The count of mutations Mutant generates per subject is, in Schirp's opinion, a better complexity measure than cycloma...
short_description (empty) The number of mutations generated per subject is a better complexity metric than cyclomatic complexity.
create Should every project use mutation testing? question
kind (empty) question
name (empty) Should every project use mutation testing?
slug (empty) should-every-project-use-mutation-testing
attrs (empty) {"answer_summary" => "Use mutation testing on every project and everywhere in the codebase — not just core domain — b...
description (empty) Audience member asks whether mutation testing is appropriate for every project/client, and whether to focus on core d...
short_description (empty) Audience asks whether mutation testing fits every project or only core domain logic.
create How to integrate Mutant with CI question
kind (empty) question
name (empty) How to integrate Mutant with CI
slug (empty) how-to-integrate-mutant-with-ci
attrs (empty) {"answer_summary" => "Use a top-level-namespace recursive match expression combined with incremental mode so CI only ...
description (empty) Audience question on CI integration. Schirp uses a single very general recursive-enumeration match expression scoped ...
short_description (empty) Audience asks how Schirp wires Mutant into continuous integration.
create Can Mutant list weak-spot subjects to focus on? question
kind (empty) question
name (empty) Can Mutant list weak-spot subjects to focus on?
slug (empty) can-mutant-list-weak-spot-subjects-to-focus-on
attrs (empty) {"answer_summary" => "Conceptually yes — run only the generation phase and rank subjects by mutation count; Schirp ha...
description (empty) Audience asks whether Mutant can be used to identify the subjects with the most mutations so the team can prioritize ...
short_description (empty) Audience asks whether Mutant can output a ranked list of worst-covered subjects.
create Experience with mutation testing in other ecosystems? question
kind (empty) question
name (empty) Experience with mutation testing in other ecosystems?
slug (empty) experience-with-mutation-testing-in-other-ecosystems
attrs (empty) {"answer_summary" => "Yes — started with Heckle (Haskell) on DataMapper 2's axiom engine; has built private integrati...
description (empty) Audience asks about mutation testing in other ecosystems. Schirp: yes — started with Heckle (Haskell) on the axiom en...
short_description (empty) Audience asks if Schirp has used mutation testing outside Ruby.
create Has Mutant been run against popular Ruby libraries? question
kind (empty) question
name (empty) Has Mutant been run against popular Ruby libraries?
slug (empty) has-mutant-been-run-against-popular-ruby-libraries
attrs (empty) {"answer_summary" => "Only incidentally — Schirp upstreams mutation-tested bug fixes to libraries when his client wor...
description (empty) Audience asks whether Mutant is used to test popular libraries. Schirp: only when fixing a bug for a client's work. H...
short_description (empty) Audience asks whether Schirp mutation-tests popular open-source gems.
create What to do with an apparent equivalent mutation? question
kind (empty) question
name (empty) What to do with an apparent equivalent mutation?
slug (empty) what-to-do-with-an-apparent-equivalent-mutation
attrs (empty) {"answer_summary" => "Almost always fix rather than ignore: either accept the reduction (axiom: redundancy has no val...
description (empty) Audience asks how Schirp handles a mutation he decides not to kill because it looks equivalent. His reflex: sit back ...
short_description (empty) Audience asks how to handle a mutation you believe is equivalent and cannot kill.
create Can Mutant guide refactoring? question
kind (empty) question
name (empty) Can Mutant guide refactoring?
slug (empty) can-mutant-guide-refactoring
attrs (empty) {"answer_summary" => "Yes — run Mutant without killing tests to discover valid transformations, and pin behaviour fro...
description (empty) Audience asks if Mutant can be used beyond regression detection to identify code that should be refactored. Schirp: y...
short_description (empty) Audience asks whether Mutant's output can identify code to refactor.

Edges (56)

update Mutant on steroidspresented_atwroclove.rb 2019
context (empty) Schirp delivered the talk at wroclove.rb 2019, the day after his workshop.
update Markus SchirpauthoredMutant on steroids
context (empty) Schirp is the speaker of 'Mutant on steroids'.
create Mutantrelated_toSubject (Mutant)
context (empty) Subjects are Mutant's unit of mutation.
relation (empty) related_to
source_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
target_node_id (empty) 14fc14bc-2a34-45b4-8d1c-69a8b2ba7d6e
create Mutantrelated_toSelection (Mutant)
context (empty) Selection is Mutant's test-picking process.
relation (empty) related_to
source_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
target_node_id (empty) ca29d9be-9540-43dc-b9cd-2f3466cb8ffa
create Mutantrelated_toMutation Operator
context (empty) Mutant ships semantic-reduction and auto-color-replacement operators.
relation (empty) related_to
source_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
target_node_id (empty) 5a1431d3-fe6e-4492-913f-760e0e2c3da2
create Mutantrelated_toAlive and Dead Mutations
context (empty) Mutant reports mutations as alive or dead based on test outcome.
relation (empty) related_to
source_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
target_node_id (empty) 855a6c64-eb30-464a-b4da-782fe10ed949
create Markus Schirpworks_onMutant
attrs (empty) {"role" => "creator"}
context (empty) Schirp is the author of Mutant.
relation (empty) works_on
source_node_id (empty) 6d1416eb-8271-4024-8c67-28d9e5513683
target_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
create Markus SchirpauthoredMutation testing workshop wroclove.rb 2019
context (empty) Schirp ran the pre-conference mutation-testing workshop.
relation (empty) authored
source_node_id (empty) 6d1416eb-8271-4024-8c67-28d9e5513683
target_node_id (empty) 5abd78b8-1896-4996-8d19-6f3986883e1f
create Mutation testing workshop wroclove.rb 2019presented_atwroclove.rb 2019
context (empty) The workshop was held as part of wroclove.rb 2019, the day before the talk.
relation (empty) presented_at
source_node_id (empty) 5abd78b8-1896-4996-8d19-6f3986883e1f
target_node_id (empty) 8bcc988a-785d-4dfa-a063-1daa7ba349c0
create Mutation testing workshop wroclove.rb 2019aboutMutant
context (empty) Workshop exercises Mutant on small subjects including a range example.
relation (empty) about
source_node_id (empty) 5abd78b8-1896-4996-8d19-6f3986883e1f
target_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
create Mutant on steroidsaboutMutant
context (empty) Talk introduces Mutant's nomenclature and use.
relation (empty) about
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
create Mutant on steroidsaboutMutation Testing
context (empty) Talk explains mutation testing as a derived-check technique dating to the 1970s.
relation (empty) about
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) 23d3425f-ac30-4ff6-b95a-d6349fd39a6b
create Mutant on steroidsaboutMatch Expression
context (empty) Talk defines the three forms of match expressions.
relation (empty) about
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) 4160f252-3cf2-4495-9e26-22c5f99c39bc
create Mutant on steroidsaboutSubject (Mutant)
context (empty) Talk defines subjects as instance/class methods that have tests and can be mutated.
relation (empty) about
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) 14fc14bc-2a34-45b4-8d1c-69a8b2ba7d6e
create Mutant on steroidsaboutSelection (Mutant)
context (empty) Talk explains selection via RSpec metadata and explicit minitest coverage declarations.
relation (empty) about
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) ca29d9be-9540-43dc-b9cd-2f3466cb8ffa
create Mutant on steroidsaboutMutation Operator
context (empty) Talk describes semantic-reduction and auto-color-replacement operators.
relation (empty) about
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) 5a1431d3-fe6e-4492-913f-760e0e2c3da2
create Mutant on steroidsaboutAlive and Dead Mutations
context (empty) Talk explains the alive/dead distinction and why alive mutations are the primary artifact.
relation (empty) about
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) 855a6c64-eb30-464a-b4da-782fe10ed949
create Mutant on steroidsaboutMutation Testing Preconditions
context (empty) Talk lists green/idempotent/random-order/concurrent/metadata/discoverable preconditions.
relation (empty) about
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) 49d10376-c004-4e3a-bc5f-b37d00c4cd7f
create Mutant on steroidsaboutIncremental Mutation Testing
context (empty) Talk promotes incremental mode as the way to start mutation testing today.
relation (empty) about
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) 5be14080-d492-4567-a9d1-0678de31d277
create Mutant on steroidsaboutEquivalent Mutation
context (empty) Talk addresses the equivalent-mutation problem in Q&A.
relation (empty) about
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) c55a5ea6-a7b1-427c-a04a-f415dff80df8
create Mutant on steroidsaboutRuby on Rails
context (empty) Talk discusses how Rails defies most mutation-testing preconditions.
relation (empty) about
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) 7aac705a-0987-49f2-b665-9d4e08a6acee
create Mutant on steroidsaboutRSpec
context (empty) RSpec's describe/context metadata is Mutant's implicit selection mechanism.
relation (empty) about
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) 91c45bda-6818-4a05-962e-8c4531264e44
create Mutant on steroidsaboutminitest
context (empty) minitest lacks implicit metadata so Mutant requires explicit coverage declarations.
relation (empty) about
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) 6d3b8a3d-e1b5-4eba-ae6f-eaab5ce22211
create Mutantrelated_toIncremental Mutation Testing
context (empty) Mutant implements incremental mode that subsets subjects to only those touched in the current change.
relation (empty) related_to
source_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
target_node_id (empty) 5be14080-d492-4567-a9d1-0678de31d277
create Mutantrelated_toMatch Expression
context (empty) Match expressions are Mutant's mechanism for specifying target subjects.
relation (empty) related_to
source_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
target_node_id (empty) 4160f252-3cf2-4495-9e26-22c5f99c39bc
create Markus SchirprecommendsMutation Testing
context (empty) Argues every project should use mutation testing because human time is the most expensive resource.
relation (empty) recommends
source_node_id (empty) 6d1416eb-8271-4024-8c67-28d9e5513683
target_node_id (empty) 23d3425f-ac30-4ff6-b95a-d6349fd39a6b
create Markus SchirprecommendsIncremental Mutation Testing
context (empty) Recommends incremental mode as the way to adopt mutation testing on existing codebases.
relation (empty) recommends
source_node_id (empty) 6d1416eb-8271-4024-8c67-28d9e5513683
target_node_id (empty) 5be14080-d492-4567-a9d1-0678de31d277
create Markus Schirpworks_onDataMapper 2
attrs (empty) {"role" => "team member"}
context (empty) Schirp joined the DataMapper 2 team; this is where he first encountered mutation testing.
relation (empty) works_on
source_node_id (empty) 6d1416eb-8271-4024-8c67-28d9e5513683
target_node_id (empty) 2ff93ad4-dae4-4107-94e8-f645203d8538
create Markus Schirpworks_onaxiom
context (empty) Worked on the axiom relational-algebra engine sub-project of DataMapper 2.
relation (empty) works_on
source_node_id (empty) 6d1416eb-8271-4024-8c67-28d9e5513683
target_node_id (empty) 3695afd9-f50c-482f-ab7a-ae3f6c0ea99d
create axiomusesHeckle
context (empty) The axiom Haskell engine used Heckle for mutation testing.
relation (empty) uses
source_node_id (empty) 3695afd9-f50c-482f-ab7a-ae3f6c0ea99d
target_node_id (empty) 72c5473e-5eca-4941-8e46-1fefeb7cd89c
create DataMapper 2related_toaxiom
context (empty) axiom is a sub-project of DataMapper 2.
relation (empty) related_to
source_node_id (empty) 2ff93ad4-dae4-4107-94e8-f645203d8538
target_node_id (empty) 3695afd9-f50c-482f-ab7a-ae3f6c0ea99d
create HeckleaboutMutation Testing
context (empty) Heckle is a Haskell mutation-testing tool.
relation (empty) about
source_node_id (empty) 72c5473e-5eca-4941-8e46-1fefeb7cd89c
target_node_id (empty) 23d3425f-ac30-4ff6-b95a-d6349fd39a6b
create MutantusesRuby
context (empty) Mutant is implemented in and targets Ruby code.
relation (empty) uses
source_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
target_node_id (empty) c7f25b33-06c9-460e-aca7-fe993123ebee
create Start mutation testing incrementallyfrom_talkMutant on steroids
context (empty) Key recommendation from the talk.
relation (empty) from_talk
source_node_id (empty) a38641df-8fbc-4b12-b008-ab6a2f98ec51
target_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
create Start mutation testing incrementallyaboutIncremental Mutation Testing
context (empty) Takeaway centers on incremental mode.
relation (empty) about
source_node_id (empty) a38641df-8fbc-4b12-b008-ab6a2f98ec51
target_node_id (empty) 5be14080-d492-4567-a9d1-0678de31d277
create Mutation testing replaces dumb review questionsfrom_talkMutant on steroids
context (empty) Insight delivered during the Q&A on why clients should adopt mutation testing.
relation (empty) from_talk
source_node_id (empty) 39461dc3-ea21-449a-bee4-e11ba5c59716
target_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
create Mutation testing replaces dumb review questionsaboutMutation Testing
context (empty) Takeaway frames mutation testing as replacing mechanical reviewer questions.
relation (empty) about
source_node_id (empty) 39461dc3-ea21-449a-bee4-e11ba5c59716
target_node_id (empty) 23d3425f-ac30-4ff6-b95a-d6349fd39a6b
create Mutant as complexity metric and refactoring guidefrom_talkMutant on steroids
context (empty) Pair of insights from the Q&A.
relation (empty) from_talk
source_node_id (empty) dee94568-1243-417b-81ce-8e71ee884d2e
target_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
create Mutant as complexity metric and refactoring guideaboutMutant
context (empty) About using Mutant beyond regression detection.
relation (empty) about
source_node_id (empty) dee94568-1243-417b-81ce-8e71ee884d2e
target_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
create Should every project use mutation testing?asked_atMutant on steroids
context (empty) Audience question during the Q&A.
relation (empty) asked_at
source_node_id (empty) d0d2ef72-2f95-4f1e-a549-eba71483f1ad
target_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
create Should every project use mutation testing?aboutMutation Testing
context (empty) Question is about scope of adoption.
relation (empty) about
source_node_id (empty) d0d2ef72-2f95-4f1e-a549-eba71483f1ad
target_node_id (empty) 23d3425f-ac30-4ff6-b95a-d6349fd39a6b
create How to integrate Mutant with CIasked_atMutant on steroids
context (empty) Audience question during the Q&A.
relation (empty) asked_at
source_node_id (empty) dde6d767-9d11-4ff1-9174-6de3ef3f1601
target_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
create How to integrate Mutant with CIaboutMutant
context (empty) About CI integration strategy for Mutant.
relation (empty) about
source_node_id (empty) dde6d767-9d11-4ff1-9174-6de3ef3f1601
target_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
create How to integrate Mutant with CIaboutIncremental Mutation Testing
context (empty) Answer centers on using incremental mode on a top-level namespace match expression.
relation (empty) about
source_node_id (empty) dde6d767-9d11-4ff1-9174-6de3ef3f1601
target_node_id (empty) 5be14080-d492-4567-a9d1-0678de31d277
create Can Mutant list weak-spot subjects to focus on?asked_atMutant on steroids
context (empty) Audience question during the Q&A.
relation (empty) asked_at
source_node_id (empty) d416c555-e699-42bf-824b-d3504491ae49
target_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
create Can Mutant list weak-spot subjects to focus on?aboutMutant
context (empty) Question about Mutant's reporting capabilities.
relation (empty) about
source_node_id (empty) d416c555-e699-42bf-824b-d3504491ae49
target_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
create Experience with mutation testing in other ecosystems?asked_atMutant on steroids
context (empty) Audience question during the Q&A.
relation (empty) asked_at
source_node_id (empty) dcaa6937-2eb6-426d-9110-efb189a7eb0c
target_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
create Experience with mutation testing in other ecosystems?aboutMutation Testing
context (empty) Question about cross-language mutation testing.
relation (empty) about
source_node_id (empty) dcaa6937-2eb6-426d-9110-efb189a7eb0c
target_node_id (empty) 23d3425f-ac30-4ff6-b95a-d6349fd39a6b
create Experience with mutation testing in other ecosystems?aboutHeckle
context (empty) Answer references Heckle as Schirp's first mutation-testing tool.
relation (empty) about
source_node_id (empty) dcaa6937-2eb6-426d-9110-efb189a7eb0c
target_node_id (empty) 72c5473e-5eca-4941-8e46-1fefeb7cd89c
create Has Mutant been run against popular Ruby libraries?asked_atMutant on steroids
context (empty) Audience question during the Q&A.
relation (empty) asked_at
source_node_id (empty) 7e6db71f-6770-40f0-bd94-477b3a73a092
target_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
create Has Mutant been run against popular Ruby libraries?aboutMutant
context (empty) Question about open-source usage of Mutant.
relation (empty) about
source_node_id (empty) 7e6db71f-6770-40f0-bd94-477b3a73a092
target_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
create What to do with an apparent equivalent mutation?asked_atMutant on steroids
context (empty) Audience question during the Q&A.
relation (empty) asked_at
source_node_id (empty) 989fa6c4-cc98-4bda-a8bf-3d53256c1e2c
target_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
create What to do with an apparent equivalent mutation?aboutEquivalent Mutation
context (empty) Question is specifically about equivalent mutations.
relation (empty) about
source_node_id (empty) 989fa6c4-cc98-4bda-a8bf-3d53256c1e2c
target_node_id (empty) c55a5ea6-a7b1-427c-a04a-f415dff80df8
create Can Mutant guide refactoring?asked_atMutant on steroids
context (empty) Audience question during the Q&A.
relation (empty) asked_at
source_node_id (empty) 5dbed04d-44c3-4ca4-94b2-5d7a121d0713
target_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
create Can Mutant guide refactoring?aboutMutant
context (empty) Question about using Mutant as a refactoring aid.
relation (empty) about
source_node_id (empty) 5dbed04d-44c3-4ca4-94b2-5d7a121d0713
target_node_id (empty) ab45ac79-e626-4dbb-b938-be653956e6e5
create Mutant on steroidsrelated_toDevelopment with axioms
context (empty) Schirp opens by referencing 'Martin's talk' on automatable checks and frames mutation testing as a 'derived check' bu...
relation (empty) related_to
source_node_id (empty) 7f6e2f29-0154-4dc3-87f3-e26baf7729ec
target_node_id (empty) 0ef6f37b-c71a-421b-b6f8-ed7eba231aaa

Read set

76 nodes

talk Setup and operation of mutation testing in agentic world search_nodes concept Breadth-First Search for Code Removal search_nodes concept Rails Testing Pyramid (Ivan's version) search_nodes takeaway Replay-Based Debugging search_nodes question How to detect coupling in a large existing project? search_nodes concept Stubs over Mocks search_nodes tool Mutant search_nodes talk My core skill never was the typing search_nodes talk Testing Randomness search_nodes takeaway Stable commits enable bisect search_nodes tool TruffleRuby search_nodes talk Rubyana Gems and the Ractorous Rubetta Stones! search_nodes talk Scientific Ruby Lightning Talk search_nodes talk Toolbelt of a Seasoned Bug Hunter search_nodes takeaway Use Ruby to debug Ruby search_nodes tool mruby search_nodes concept Refinements search_nodes talk Introducing Sorbet into your Ruby codebase search_nodes tool heapy search_nodes person Markus Schirp search_nodes+get_node_edges tool RealtimeBoard search_nodes person Adam Okoń search_nodes person Julik Tarkhanov search_nodes talk Events events events search_nodes tool interactor search_nodes tool GraphQL search_nodes tool Brotli search_nodes tool Rust search_nodes talk Forms Are Dead: Building Agentic Workflows in Ruby search_nodes event wroclove.rb 2019 search_nodes event wroclove.rb 2018 search_nodes event wroclove.rb 2024 search_nodes event wroclove.rb 2022 search_nodes event wroclove.rb 2023 search_nodes event wroclove.rb 2026 search_nodes event wroclove.rb 2025 search_nodes talk Development with axioms search_nodes+get_node_edges talk Building LLM powered applications in Ruby search_nodes talk Spice up your life with eql search_nodes talk Mutant on steroids search_nodes+get_node_edges talk An Introduction to Test Bench search_nodes resource Rocket Real-Time Benchmark search_nodes talk One machine please, make it Turing search_nodes talk How To Package A Rails Engine Generation To Automation search_nodes talk Offline Sandwich Focus Workflow search_nodes talk Developer, Programmer, and AI search_nodes concept Events and Commands search_nodes takeaway Simpler Tests Without Updates Or Deletes search_nodes concept Mutator Layer search_nodes tool minitest search_nodes tool RSpec search_nodes tool power_assert search_nodes concept Fixtures over Factories search_nodes tool Cells search_nodes tool ruby-contracts search_nodes tool mini_magick search_nodes tool Faker search_nodes project monolith framework search_nodes concept Cynefin Framework search_nodes tool Ruby on Rails search_nodes tool Rack search_nodes tool Rails 5.2 search_nodes tool Ember.js search_nodes talk Towards the post framework future search_nodes tool Trailblazer search_nodes tool Hanami search_nodes question Is MVC enough for a successful enterprise app? search_nodes tool PureScript search_nodes tool Elm search_nodes concept Event Store search_nodes tool Elixir search_nodes concept CQRS search_nodes concept Idempotent Projectors and Reactors search_nodes concept DDD Whirlpool search_nodes concept Domain Storytelling search_nodes tool Clojure search_nodes

8 edges