← 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 steroids → presented_at → wroclove.rb 2019
context (empty) → Schirp delivered the talk at wroclove.rb 2019, the day after his workshop.
update Markus Schirp → authored → Mutant on steroids
context (empty) → Schirp is the speaker of 'Mutant on steroids'.
create Mutant → related_to → Subject (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 Mutant → related_to → Selection (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 Mutant → related_to → Mutation 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 Mutant → related_to → Alive 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 Schirp → works_on → Mutant
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 Schirp → authored → Mutation 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 2019 → presented_at → wroclove.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 2019 → about → Mutant
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 steroids → about → Mutant
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 steroids → about → Mutation 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 steroids → about → Match 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 steroids → about → Subject (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 steroids → about → Selection (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 steroids → about → Mutation 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 steroids → about → Alive 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 steroids → about → Mutation 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 steroids → about → Incremental 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 steroids → about → Equivalent 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 steroids → about → Ruby 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 steroids → about → RSpec
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 steroids → about → minitest
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 Mutant → related_to → Incremental 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 Mutant → related_to → Match 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 Schirp → recommends → Mutation 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 Schirp → recommends → Incremental 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 Schirp → works_on → DataMapper 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 Schirp → works_on → axiom
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 axiom → uses → Heckle
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 2 → related_to → axiom
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 Heckle → about → Mutation 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 Mutant → uses → Ruby
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 incrementally → from_talk → Mutant 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 incrementally → about → Incremental 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 questions → from_talk → Mutant 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 questions → about → Mutation 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 guide → from_talk → Mutant 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 guide → about → Mutant
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_at → Mutant 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? → about → Mutation 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 CI → asked_at → Mutant 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 CI → about → Mutant
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 CI → about → Incremental 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_at → Mutant 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? → about → Mutant
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_at → Mutant 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? → about → Mutation 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? → about → Heckle
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_at → Mutant 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? → about → Mutant
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_at → Mutant 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? → about → Equivalent 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_at → Mutant 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? → about → Mutant
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 steroids → related_to → Development 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