What a Mutation Regime Can Know About a Function: A provably-sufficient output-mutation regime, its knowability boundary, and the intent residual

Mutation testing measures a test suite by the fraction of a fixed family of mutant programs it distinguishes, and a score of one is read as evidence of adequacy. What such a score establishes about the program under test has never been characterized independently of a particular program, suite and mutant pool. We give that characterization for output mutation, which perturbs the returned value; extreme, Descartes-style mutation is its constant case. We ask when a full score against one regime guarantees a full score against another, for every program and every suite. For adequacy an output operator is exactly its footprint, the set of values it changes, and our main theorem (Theorem 3.2) answers the question: a finite regime Π is sufficient for a target class Γ iff every target footprint is the union of the Π-footprints it contains, while an infinite regime obeys a finite-avoidance form of the same law. The characterization is constructive: when it fails, its proof yields a program and a suite on which Π scores one and Γ does not. Its consequences locate what a passing score can know about a function. On n output values the minimal sufficient regime consists of the n singleton value guards, and Descartes constants are sufficient iff n = 2. A full score knows exactly output coverage: the suite exercised every value the program can return, and nothing more (Theorem 4.5). A finite absolutely sufficient regime exists only on finite return types, and deciding sufficiency is polynomial for value tables, decidable for Presburger-definable footprints and undecidable for computable operators (Theorem 5.2). Under a weak oracle the theory relativizes and characterizes the pseudo-tested method (§9). We separate three kinds of knowledge: whether a mutant changes the output, whether the suite's assertions see the change, and whether the change matters. Our theory settles the first two within its model; the third, the intent residual, needs a specification from outside the program (§10). Applying uniform output operators to the test suites of four Python libraries (131 functions, 985 mutants), we find 9% of the functions with a type-preserving constant pseudo-tested under the value oracle. Files. what_a_mutation_regime_can_know.pdf is the 12-page preprint. lean_proofs.zip is the Lean 4 development (Lean and Mathlib v4.28.0; 38 theorems, no sorry; axioms limited to propext, Classical.choice and Quot.sound; builds with lake exe cache get && lake build). checker_and_experiment.zip holds the standard-library Python checker for Theorem 3.2 with its tests, the §9.5 experiment scripts with pinned library commits and raw results, the theorem ledger and the artifact guide. Code is under the MIT License. Source repository: https://github.com/rohanvinaik/what-a-mutation-regime-can-know

Authors

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2026-11-07
DOI
https://doi.org/10.5281/zenodo.24042390
Primary Topic
Software Testing and Debugging Techniques
Type
preprint
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
NOV
preprint

What a Mutation Regime Can Know About a Function: A provably-sufficient output-mutation regime, its knowability boundary, and the intent residual

Rohan Vinaik
Zenodo (CERN European Organization for Nuclear Research)
Software Testing and Debugging Techniques
preprint

What a Mutation Regime Can Know About a Function: A provably-sufficient output-mutation regime, its knowability boundary, and the intent residual

Rohan Vinaik
preprint en

Abstract

Mutation testing measures a test suite by the fraction of a fixed family of mutant programs it distinguishes, and a score of one is read as evidence of adequacy. What such a score establishes about the program under test has never been characterized independently of a particular program, suite and mutant pool. We give that characterization for output mutation, which perturbs the returned value; extreme, Descartes-style mutation is its constant case. We ask when a full score against one regime guarantees a full score against another, for every program and every suite. For adequacy an output operator is exactly its footprint, the set of values it changes, and our main theorem (Theorem 3.2) answers the question: a finite regime Π is sufficient for a target class Γ iff every target footprint is the union of the Π-footprints it contains, while an infinite regime obeys a finite-avoidance form of the same law. The characterization is constructive: when it fails, its proof yields a program and a suite on which Π scores one and Γ does not. Its consequences locate what a passing score can know about a function. On n output values the minimal sufficient regime consists of the n singleton value guards, and Descartes constants are sufficient iff n = 2. A full score knows exactly output coverage: the suite exercised every value the program can return, and nothing more (Theorem 4.5). A finite absolutely sufficient regime exists only on finite return types, and deciding sufficiency is polynomial for value tables, decidable for Presburger-definable footprints and undecidable for computable operators (Theorem 5.2). Under a weak oracle the theory relativizes and characterizes the pseudo-tested method (§9). We separate three kinds of knowledge: whether a mutant changes the output, whether the suite's assertions see the change, and whether the change matters. Our theory settles the first two within its model; the third, the intent residual, needs a specification from outside the program (§10). Applying uniform output operators to the test suites of four Python libraries (131 functions, 985 mutants), we find 9% of the functions with a type-preserving constant pseudo-tested under the value oracle. Files. what_a_mutation_regime_can_know.pdf is the 12-page preprint. lean_proofs.zip is the Lean 4 development (Lean and Mathlib v4.28.0; 38 theorems, no sorry; axioms limited to propext, Classical.choice and Quot.sound; builds with lake exe cache get && lake build). checker_and_experiment.zip holds the standard-library Python checker for Theorem 3.2 with its tests, the §9.5 experiment scripts with pinned library commits and raw results, the theorem ledger and the artifact guide. Code is under the MIT License. Source repository: https://github.com/rohanvinaik/what-a-mutation-regime-can-know

Zenodo (CERN European Organization for Nuclear Research)
Software Testing and Debugging Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Laika access coming soon