Understand the failure.
Verify the repair.
Small, reproducible software failures. The broken implementation, the fix that didn’t work, and the one that passed—preserved together.
Explore the cases ↓How results are verified ↗WHAT THE ARCHIVE CONTAINS
100840 executable cases. 20168 are open.
Every case records the implementation that fails, the fix that did not work, and the repair that passed its checks—with recorded outputs and source hashes. This release adds 100840 cases across 20168 failure mechanisms and 254 domains.
The open tier gives you the failure and the unsuccessful fix for one case in every mechanism. The remaining 80672 cases, 5 variants per mechanism, are member-only: the verified repair, its recorded checks, and the full fixture suite are held in the member archive. Read the methodology ↗
A RECORD OF WHAT WENT WRONG
Browse the archive / 100840
Oop maps: primitive arrays scanned like object arrays · case 01
Integers stored in int[] arrays keep unrelated objects alive.
Oop maps: primitive arrays scanned like object arrays · case 02
Integers stored in int[] arrays keep unrelated objects alive.
Oop maps: primitive arrays scanned like object arrays · case 03
Integers stored in int[] arrays keep unrelated objects alive.
Oop maps: primitive arrays scanned like object arrays · case 04
Integers stored in int[] arrays keep unrelated objects alive.
Oop maps: primitive arrays scanned like object arrays · case 05
Integers stored in int[] arrays keep unrelated objects alive.
Oop maps: run count used as an end index · case 01
Reference runs that start beyond their count scan nothing, so referenced objects are missed.
Oop maps: run count used as an end index · case 02
Reference runs that start beyond their count scan nothing, so referenced objects are missed.
Oop maps: run count used as an end index · case 03
Reference runs that start beyond their count scan nothing, so referenced objects are missed.
Oop maps: run count used as an end index · case 04
Reference runs that start beyond their count scan nothing, so referenced objects are missed.
Oop maps: run count used as an end index · case 05
Reference runs that start beyond their count scan nothing, so referenced objects are missed.
Oop maps: inherited reference fields ignored · case 01
Fields declared in superclasses are not traced for subclass instances.
Oop maps: inherited reference fields ignored · case 02
Fields declared in superclasses are not traced for subclass instances.
Oop maps: inherited reference fields ignored · case 03
Fields declared in superclasses are not traced for subclass instances.
Oop maps: inherited reference fields ignored · case 04
Fields declared in superclasses are not traced for subclass instances.
Oop maps: inherited reference fields ignored · case 05
Fields declared in superclasses are not traced for subclass instances.
Heap resizing: growth target rounded down · case 01
After growing, the free share is still just below the minimum and the heap grows again next cycle.
Heap resizing: growth target rounded down · case 02
After growing, the free share is still just below the minimum and the heap grows again next cycle.
Heap resizing: growth target rounded down · case 03
After growing, the free share is still just below the minimum and the heap grows again next cycle.
Heap resizing: growth target rounded down · case 04
After growing, the free share is still just below the minimum and the heap grows again next cycle.
Heap resizing: growth target rounded down · case 05
After growing, the free share is still just below the minimum and the heap grows again next cycle.
Heap resizing: growth ignores the maximum heap size · case 01
The heap grows past its configured maximum.
Heap resizing: growth ignores the maximum heap size · case 02
The heap grows past its configured maximum.
Heap resizing: growth ignores the maximum heap size · case 03
The heap grows past its configured maximum.
Heap resizing: growth ignores the maximum heap size · case 04
The heap grows past its configured maximum.
Heap resizing: growth ignores the maximum heap size · case 05
The heap grows past its configured maximum.
Heap resizing: shrinking goes below the minimum heap · case 01
Nearly empty heaps shrink below the configured minimum.
Heap resizing: shrinking goes below the minimum heap · case 02
Nearly empty heaps shrink below the configured minimum.
Heap resizing: shrinking goes below the minimum heap · case 03
Nearly empty heaps shrink below the configured minimum.
Heap resizing: shrinking goes below the minimum heap · case 04
Nearly empty heaps shrink below the configured minimum.
Heap resizing: shrinking goes below the minimum heap · case 05
Nearly empty heaps shrink below the configured minimum.
Heap resizing: shrink step computed from the whole capacity · case 01
Shrinking removes a fixed share of the heap and can drop below the target.
Heap resizing: shrink step computed from the whole capacity · case 02
Shrinking removes a fixed share of the heap and can drop below the target.
Heap resizing: shrink step computed from the whole capacity · case 03
Shrinking removes a fixed share of the heap and can drop below the target.
Heap resizing: shrink step computed from the whole capacity · case 04
Shrinking removes a fixed share of the heap and can drop below the target.
Heap resizing: shrink step computed from the whole capacity · case 05
Shrinking removes a fixed share of the heap and can drop below the target.
Heap resizing: free share truncated to zero · case 01
Every collection grows the heap regardless of free space.
Heap resizing: free share truncated to zero · case 02
Every collection grows the heap regardless of free space.
Heap resizing: free share truncated to zero · case 03
Every collection grows the heap regardless of free space.
Heap resizing: free share truncated to zero · case 04
Every collection grows the heap regardless of free space.
Heap resizing: free share truncated to zero · case 05
Every collection grows the heap regardless of free space.
Statevector CNOT swaps control and target roles · case 01
A Bell-pair circuit with CNOT(0,1) leaves the state as |+>|0> amplitudes on the wrong basis states whenever the control is not in superposition symmetrically.
Statevector CNOT swaps control and target roles · case 02
A Bell-pair circuit with CNOT(0,1) leaves the state as |+>|0> amplitudes on the wrong basis states whenever the control is not in superposition symmetrically.
Statevector CNOT swaps control and target roles · case 03
A Bell-pair circuit with CNOT(0,1) leaves the state as |+>|0> amplitudes on the wrong basis states whenever the control is not in superposition symmetrically.
Statevector CNOT swaps control and target roles · case 04
A Bell-pair circuit with CNOT(0,1) leaves the state as |+>|0> amplitudes on the wrong basis states whenever the control is not in superposition symmetrically.
Statevector CNOT swaps control and target roles · case 05
A Bell-pair circuit with CNOT(0,1) leaves the state as |+>|0> amplitudes on the wrong basis states whenever the control is not in superposition symmetrically.
Statevector Pauli-Y applies the conjugate phases · case 01
After Y on |0> the simulator reports amplitude -i on |1> instead of +i, and interference with later H gates flips outcome probabilities.
Statevector Pauli-Y applies the conjugate phases · case 02
After Y on |0> the simulator reports amplitude -i on |1> instead of +i, and interference with later H gates flips outcome probabilities.
Statevector Pauli-Y applies the conjugate phases · case 03
After Y on |0> the simulator reports amplitude -i on |1> instead of +i, and interference with later H gates flips outcome probabilities.
Statevector Pauli-Y applies the conjugate phases · case 04
After Y on |0> the simulator reports amplitude -i on |1> instead of +i, and interference with later H gates flips outcome probabilities.
Statevector Pauli-Y applies the conjugate phases · case 05
After Y on |0> the simulator reports amplitude -i on |1> instead of +i, and interference with later H gates flips outcome probabilities.
Statevector uses big-endian qubit masks · case 01
An X on qubit 0 of a three-qubit register excites basis index 4 instead of index 1.
Statevector uses big-endian qubit masks · case 02
An X on qubit 0 of a three-qubit register excites basis index 4 instead of index 1.
Statevector uses big-endian qubit masks · case 03
An X on qubit 0 of a three-qubit register excites basis index 4 instead of index 1.
Statevector uses big-endian qubit masks · case 04
An X on qubit 0 of a three-qubit register excites basis index 4 instead of index 1.
Statevector uses big-endian qubit masks · case 05
An X on qubit 0 of a three-qubit register excites basis index 4 instead of index 1.
Statevector S-dagger rotates the wrong way · case 01
H followed by Sdg yields the |+i> state instead of |-i>, so a subsequent measurement basis change reports the wrong eigenstate.
Statevector S-dagger rotates the wrong way · case 02
H followed by Sdg yields the |+i> state instead of |-i>, so a subsequent measurement basis change reports the wrong eigenstate.
Statevector S-dagger rotates the wrong way · case 03
H followed by Sdg yields the |+i> state instead of |-i>, so a subsequent measurement basis change reports the wrong eigenstate.
Statevector S-dagger rotates the wrong way · case 04
H followed by Sdg yields the |+i> state instead of |-i>, so a subsequent measurement basis change reports the wrong eigenstate.
Statevector S-dagger rotates the wrong way · case 05
H followed by Sdg yields the |+i> state instead of |-i>, so a subsequent measurement basis change reports the wrong eigenstate.
Statevector T gate uses the pi/8 name as its phase · case 01
After H then T the |1> amplitude has phase 22.5 degrees instead of 45 degrees.
Statevector T gate uses the pi/8 name as its phase · case 02
After H then T the |1> amplitude has phase 22.5 degrees instead of 45 degrees.
Statevector T gate uses the pi/8 name as its phase · case 03
After H then T the |1> amplitude has phase 22.5 degrees instead of 45 degrees.
Statevector T gate uses the pi/8 name as its phase · case 04
After H then T the |1> amplitude has phase 22.5 degrees instead of 45 degrees.
Statevector T gate uses the pi/8 name as its phase · case 05
After H then T the |1> amplitude has phase 22.5 degrees instead of 45 degrees.
Statevector SWAP exchanges every differing pair twice · case 01
SWAP(0,2) after X on qubit 0 leaves the excitation on qubit 0; the gate acts as identity.
Statevector SWAP exchanges every differing pair twice · case 02
SWAP(0,2) after X on qubit 0 leaves the excitation on qubit 0; the gate acts as identity.
Statevector SWAP exchanges every differing pair twice · case 03
SWAP(0,2) after X on qubit 0 leaves the excitation on qubit 0; the gate acts as identity.
Statevector SWAP exchanges every differing pair twice · case 04
SWAP(0,2) after X on qubit 0 leaves the excitation on qubit 0; the gate acts as identity.
Statevector SWAP exchanges every differing pair twice · case 05
SWAP(0,2) after X on qubit 0 leaves the excitation on qubit 0; the gate acts as identity.
Statevector Hadamard negates the wrong branch · case 01
H applied to |1> returns (-|0> + |1>)/sqrt2 rather than (|0> - |1>)/sqrt2, so later interference cancels the wrong outcome.
Statevector Hadamard negates the wrong branch · case 02
H applied to |1> returns (-|0> + |1>)/sqrt2 rather than (|0> - |1>)/sqrt2, so later interference cancels the wrong outcome.
Statevector Hadamard negates the wrong branch · case 03
H applied to |1> returns (-|0> + |1>)/sqrt2 rather than (|0> - |1>)/sqrt2, so later interference cancels the wrong outcome.
Statevector Hadamard negates the wrong branch · case 04
H applied to |1> returns (-|0> + |1>)/sqrt2 rather than (|0> - |1>)/sqrt2, so later interference cancels the wrong outcome.
Statevector Hadamard negates the wrong branch · case 05
H applied to |1> returns (-|0> + |1>)/sqrt2 rather than (|0> - |1>)/sqrt2, so later interference cancels the wrong outcome.
Marginal keys put the first listed qubit on the left · case 01
Measuring qubits [0, 1] of |01> (qubit 0 excited) is reported as outcome "10" instead of "01".
Marginal keys put the first listed qubit on the left · case 02
Measuring qubits [0, 1] of |01> (qubit 0 excited) is reported as outcome "10" instead of "01".
Marginal keys put the first listed qubit on the left · case 03
Measuring qubits [0, 1] of |01> (qubit 0 excited) is reported as outcome "10" instead of "01".
Marginal keys put the first listed qubit on the left · case 04
Measuring qubits [0, 1] of |01> (qubit 0 excited) is reported as outcome "10" instead of "01".
Marginal keys put the first listed qubit on the left · case 05
Measuring qubits [0, 1] of |01> (qubit 0 excited) is reported as outcome "10" instead of "01".
Marginal probability uses amplitude magnitude not its square · case 01
An unequal superposition such as 0.6|0> + 0.8i|1> is reported as 3/7 and 4/7 instead of 0.36 and 0.64.
Marginal probability uses amplitude magnitude not its square · case 02
An unequal superposition such as 0.6|0> + 0.8i|1> is reported as 3/7 and 4/7 instead of 0.36 and 0.64.
Marginal probability uses amplitude magnitude not its square · case 03
An unequal superposition such as 0.6|0> + 0.8i|1> is reported as 3/7 and 4/7 instead of 0.36 and 0.64.
Marginal probability uses amplitude magnitude not its square · case 04
An unequal superposition such as 0.6|0> + 0.8i|1> is reported as 3/7 and 4/7 instead of 0.36 and 0.64.
Marginal probability uses amplitude magnitude not its square · case 05
An unequal superposition such as 0.6|0> + 0.8i|1> is reported as 3/7 and 4/7 instead of 0.36 and 0.64.
Marginal distribution is not renormalized for unnormalized input · case 01
A state given as 3|0> + 4i|1> yields probabilities 9 and 16 instead of 0.36 and 0.64.
Marginal distribution is not renormalized for unnormalized input · case 02
A state given as 3|0> + 4i|1> yields probabilities 9 and 16 instead of 0.36 and 0.64.
Marginal distribution is not renormalized for unnormalized input · case 03
A state given as 3|0> + 4i|1> yields probabilities 9 and 16 instead of 0.36 and 0.64.
Marginal distribution is not renormalized for unnormalized input · case 04
A state given as 3|0> + 4i|1> yields probabilities 9 and 16 instead of 0.36 and 0.64.
Marginal distribution is not renormalized for unnormalized input · case 05
A state given as 3|0> + 4i|1> yields probabilities 9 and 16 instead of 0.36 and 0.64.
Marginal accepts qubit index equal to the register width · case 01
Asking for qubit 2 of a two-qubit state returns {"0": 1.0} instead of the "bad-qubit" error.
Marginal accepts qubit index equal to the register width · case 02
Asking for qubit 2 of a two-qubit state returns {"0": 1.0} instead of the "bad-qubit" error.
Marginal accepts qubit index equal to the register width · case 03
Asking for qubit 2 of a two-qubit state returns {"0": 1.0} instead of the "bad-qubit" error.
Marginal accepts qubit index equal to the register width · case 04
Asking for qubit 2 of a two-qubit state returns {"0": 1.0} instead of the "bad-qubit" error.
Marginal accepts qubit index equal to the register width · case 05
Asking for qubit 2 of a two-qubit state returns {"0": 1.0} instead of the "bad-qubit" error.
Marginal rounds the numerator before normalizing · case 01
Unnormalized states produce probabilities such as 0.3076923076 with many digits instead of values rounded to 6 decimals.
Marginal rounds the numerator before normalizing · case 02
Unnormalized states produce probabilities such as 0.3076923076 with many digits instead of values rounded to 6 decimals.
Marginal rounds the numerator before normalizing · case 03
Unnormalized states produce probabilities such as 0.3076923076 with many digits instead of values rounded to 6 decimals.
Marginal rounds the numerator before normalizing · case 04
Unnormalized states produce probabilities such as 0.3076923076 with many digits instead of values rounded to 6 decimals.
Marginal rounds the numerator before normalizing · case 05
Unnormalized states produce probabilities such as 0.3076923076 with many digits instead of values rounded to 6 decimals.
INSPECTABLE BY DESIGN
Every result has a runnable source.
Runnable implementations with recorded outputs, source hashes, and explicit contracts. Related variants share a failure mechanism and belong together in evaluation splits.
Read the methodology ↗