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
Loan flow drops the second normal branch successor · case 01
Loan flow drops the second normal branch successor.
Loan flow drops the second normal branch successor · case 02
Loan flow drops the second normal branch successor.
Loan flow drops the second normal branch successor · case 03
Loan flow drops the second normal branch successor.
Loan flow drops the second normal branch successor · case 04
Loan flow drops the second normal branch successor.
Loan flow drops the second normal branch successor · case 05
Loan flow drops the second normal branch successor.
Unwind successor receives no live-loan state · case 01
Unwind successor receives no live-loan state.
Unwind successor receives no live-loan state · case 02
Unwind successor receives no live-loan state.
Unwind successor receives no live-loan state · case 03
Unwind successor receives no live-loan state.
Unwind successor receives no live-loan state · case 04
Unwind successor receives no live-loan state.
Unwind successor receives no live-loan state · case 05
Unwind successor receives no live-loan state.
Loop analysis accepts the preheader state without backedge loan facts · case 01
Loop analysis accepts the preheader state without backedge loan facts.
Loop analysis accepts the preheader state without backedge loan facts · case 02
Loop analysis accepts the preheader state without backedge loan facts.
Loop analysis accepts the preheader state without backedge loan facts · case 03
Loop analysis accepts the preheader state without backedge loan facts.
Loop analysis accepts the preheader state without backedge loan facts · case 04
Loop analysis accepts the preheader state without backedge loan facts.
Loop analysis accepts the preheader state without backedge loan facts · case 05
Loop analysis accepts the preheader state without backedge loan facts.
A loan killed on one branch is killed on every outgoing edge · case 01
A loan killed on one branch is killed on every outgoing edge.
A loan killed on one branch is killed on every outgoing edge · case 02
A loan killed on one branch is killed on every outgoing edge.
A loan killed on one branch is killed on every outgoing edge · case 03
A loan killed on one branch is killed on every outgoing edge.
A loan killed on one branch is killed on every outgoing edge · case 04
A loan killed on one branch is killed on every outgoing edge.
A loan killed on one branch is killed on every outgoing edge · case 05
A loan killed on one branch is killed on every outgoing edge.
Phi borrow origins are assigned to the wrong predecessor edge · case 01
Phi borrow origins are assigned to the wrong predecessor edge.
Phi borrow origins are assigned to the wrong predecessor edge · case 02
Phi borrow origins are assigned to the wrong predecessor edge.
Phi borrow origins are assigned to the wrong predecessor edge · case 03
Phi borrow origins are assigned to the wrong predecessor edge.
Phi borrow origins are assigned to the wrong predecessor edge · case 04
Phi borrow origins are assigned to the wrong predecessor edge.
Phi borrow origins are assigned to the wrong predecessor edge · case 05
Phi borrow origins are assigned to the wrong predecessor edge.
A loan-defining block is assumed to dominate a join after covering one predecessor · case 01
A loan-defining block is assumed to dominate a join after covering one predecessor.
A loan-defining block is assumed to dominate a join after covering one predecessor · case 02
A loan-defining block is assumed to dominate a join after covering one predecessor.
A loan-defining block is assumed to dominate a join after covering one predecessor · case 03
A loan-defining block is assumed to dominate a join after covering one predecessor.
A loan-defining block is assumed to dominate a join after covering one predecessor · case 04
A loan-defining block is assumed to dominate a join after covering one predecessor.
A loan-defining block is assumed to dominate a join after covering one predecessor · case 05
A loan-defining block is assumed to dominate a join after covering one predecessor.
A loop exemption lets unrelated loans exist before their static definition · case 01
A loop exemption lets unrelated loans exist before their static definition.
A loop exemption lets unrelated loans exist before their static definition · case 02
A loop exemption lets unrelated loans exist before their static definition.
A loop exemption lets unrelated loans exist before their static definition · case 03
A loop exemption lets unrelated loans exist before their static definition.
A loop exemption lets unrelated loans exist before their static definition · case 04
A loop exemption lets unrelated loans exist before their static definition.
A loop exemption lets unrelated loans exist before their static definition · case 05
A loop exemption lets unrelated loans exist before their static definition.
A function return invalidates a caller-owned loan · case 01
A function return invalidates a caller-owned loan.
A function return invalidates a caller-owned loan · case 02
A function return invalidates a caller-owned loan.
A function return invalidates a caller-owned loan · case 03
A function return invalidates a caller-owned loan.
A function return invalidates a caller-owned loan · case 04
A function return invalidates a caller-owned loan.
A function return invalidates a caller-owned loan · case 05
A function return invalidates a caller-owned loan.
A failed guard leaves its speculative ownership move committed · case 01
A failed guard leaves its speculative ownership move committed.
A failed guard leaves its speculative ownership move committed · case 02
A failed guard leaves its speculative ownership move committed.
A failed guard leaves its speculative ownership move committed · case 03
A failed guard leaves its speculative ownership move committed.
A failed guard leaves its speculative ownership move committed · case 04
A failed guard leaves its speculative ownership move committed.
A failed guard leaves its speculative ownership move committed · case 05
A failed guard leaves its speculative ownership move committed.
A guard consumes a noncopy place needed by later pattern alternatives · case 01
A guard consumes a noncopy place needed by later pattern alternatives.
A guard consumes a noncopy place needed by later pattern alternatives · case 02
A guard consumes a noncopy place needed by later pattern alternatives.
A guard consumes a noncopy place needed by later pattern alternatives · case 03
A guard consumes a noncopy place needed by later pattern alternatives.
A guard consumes a noncopy place needed by later pattern alternatives · case 04
A guard consumes a noncopy place needed by later pattern alternatives.
A guard consumes a noncopy place needed by later pattern alternatives · case 05
A guard consumes a noncopy place needed by later pattern alternatives.
A failed match arm leaks a local loan into the next arm · case 01
A failed match arm leaks a local loan into the next arm.
A failed match arm leaks a local loan into the next arm · case 02
A failed match arm leaks a local loan into the next arm.
A failed match arm leaks a local loan into the next arm · case 03
A failed match arm leaks a local loan into the next arm.
A failed match arm leaks a local loan into the next arm · case 04
A failed match arm leaks a local loan into the next arm.
A failed match arm leaks a local loan into the next arm · case 05
A failed match arm leaks a local loan into the next arm.
Guard mutation invalidates the variant witness of a borrowed payload · case 01
Guard mutation invalidates the variant witness of a borrowed payload.
Guard mutation invalidates the variant witness of a borrowed payload · case 02
Guard mutation invalidates the variant witness of a borrowed payload.
Guard mutation invalidates the variant witness of a borrowed payload · case 03
Guard mutation invalidates the variant witness of a borrowed payload.
Guard mutation invalidates the variant witness of a borrowed payload · case 04
Guard mutation invalidates the variant witness of a borrowed payload.
Guard mutation invalidates the variant witness of a borrowed payload · case 05
Guard mutation invalidates the variant witness of a borrowed payload.
Pattern move is committed before guard acceptance · case 01
Pattern move is committed before guard acceptance.
Pattern move is committed before guard acceptance · case 02
Pattern move is committed before guard acceptance.
Pattern move is committed before guard acceptance · case 03
Pattern move is committed before guard acceptance.
Pattern move is committed before guard acceptance · case 04
Pattern move is committed before guard acceptance.
Pattern move is committed before guard acceptance · case 05
Pattern move is committed before guard acceptance.
A pure pattern test unnecessarily acquires an exclusive scrutinee loan · case 01
A pure pattern test unnecessarily acquires an exclusive scrutinee loan.
A pure pattern test unnecessarily acquires an exclusive scrutinee loan · case 02
A pure pattern test unnecessarily acquires an exclusive scrutinee loan.
A pure pattern test unnecessarily acquires an exclusive scrutinee loan · case 03
A pure pattern test unnecessarily acquires an exclusive scrutinee loan.
A pure pattern test unnecessarily acquires an exclusive scrutinee loan · case 04
A pure pattern test unnecessarily acquires an exclusive scrutinee loan.
A pure pattern test unnecessarily acquires an exclusive scrutinee loan · case 05
A pure pattern test unnecessarily acquires an exclusive scrutinee loan.
Postmatch ownership state omits a reachable arm · case 01
Postmatch ownership state omits a reachable arm.
Postmatch ownership state omits a reachable arm · case 02
Postmatch ownership state omits a reachable arm.
Postmatch ownership state omits a reachable arm · case 03
Postmatch ownership state omits a reachable arm.
Postmatch ownership state omits a reachable arm · case 04
Postmatch ownership state omits a reachable arm.
Postmatch ownership state omits a reachable arm · case 05
Postmatch ownership state omits a reachable arm.
A nonexhaustive guarded match omits the no-arm-taken ownership state · case 01
A nonexhaustive guarded match omits the no-arm-taken ownership state.
A nonexhaustive guarded match omits the no-arm-taken ownership state · case 02
A nonexhaustive guarded match omits the no-arm-taken ownership state.
A nonexhaustive guarded match omits the no-arm-taken ownership state · case 03
A nonexhaustive guarded match omits the no-arm-taken ownership state.
A nonexhaustive guarded match omits the no-arm-taken ownership state · case 04
A nonexhaustive guarded match omits the no-arm-taken ownership state.
A nonexhaustive guarded match omits the no-arm-taken ownership state · case 05
A nonexhaustive guarded match omits the no-arm-taken ownership state.
A failed guard retains one temporary borrow into subsequent matching · case 01
A failed guard retains one temporary borrow into subsequent matching.
A failed guard retains one temporary borrow into subsequent matching · case 02
A failed guard retains one temporary borrow into subsequent matching.
A failed guard retains one temporary borrow into subsequent matching · case 03
A failed guard retains one temporary borrow into subsequent matching.
A failed guard retains one temporary borrow into subsequent matching · case 04
A failed guard retains one temporary borrow into subsequent matching.
A failed guard retains one temporary borrow into subsequent matching · case 05
A failed guard retains one temporary borrow into subsequent matching.
A pattern reference ends before the final guard expression use · case 01
A pattern reference ends before the final guard expression use.
A pattern reference ends before the final guard expression use · case 02
A pattern reference ends before the final guard expression use.
A pattern reference ends before the final guard expression use · case 03
A pattern reference ends before the final guard expression use.
A pattern reference ends before the final guard expression use · case 04
A pattern reference ends before the final guard expression use.
A pattern reference ends before the final guard expression use · case 05
A pattern reference ends before the final guard expression use.
Reused machine addresses are merged into one static allocation origin · case 01
Reused machine addresses are merged into one static allocation origin.
Reused machine addresses are merged into one static allocation origin · case 02
Reused machine addresses are merged into one static allocation origin.
Reused machine addresses are merged into one static allocation origin · case 03
Reused machine addresses are merged into one static allocation origin.
Reused machine addresses are merged into one static allocation origin · case 04
Reused machine addresses are merged into one static allocation origin.
Reused machine addresses are merged into one static allocation origin · case 05
Reused machine addresses are merged into one static allocation origin.
A stale allocation generation is accepted by borrow provenance checking · case 01
A stale allocation generation is accepted by borrow provenance checking.
A stale allocation generation is accepted by borrow provenance checking · case 02
A stale allocation generation is accepted by borrow provenance checking.
A stale allocation generation is accepted by borrow provenance checking · case 03
A stale allocation generation is accepted by borrow provenance checking.
A stale allocation generation is accepted by borrow provenance checking · case 04
A stale allocation generation is accepted by borrow provenance checking.
A stale allocation generation is accepted by borrow provenance checking · case 05
A stale allocation generation is accepted by borrow provenance checking.
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 ↗