FAILURE MAP

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 ↗
100840Executable case variants
20168Distinct failure mechanisms
302520Executed implementations
20168Open-access cases

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

Python · Standard library
REFERENCEFAILURE MECHANISMDOMAINACCESS
FA-43801

Loan flow drops the second normal branch successor · case 01

Loan flow drops the second normal branch successor.

Borrow checking● Open access↗
FA-43802

Loan flow drops the second normal branch successor · case 02

Loan flow drops the second normal branch successor.

Borrow checking◈ Members↗
FA-43803

Loan flow drops the second normal branch successor · case 03

Loan flow drops the second normal branch successor.

Borrow checking◈ Members↗
FA-43804

Loan flow drops the second normal branch successor · case 04

Loan flow drops the second normal branch successor.

Borrow checking◈ Members↗
FA-43805

Loan flow drops the second normal branch successor · case 05

Loan flow drops the second normal branch successor.

Borrow checking◈ Members↗
FA-43806

Unwind successor receives no live-loan state · case 01

Unwind successor receives no live-loan state.

Borrow checking● Open access↗
FA-43807

Unwind successor receives no live-loan state · case 02

Unwind successor receives no live-loan state.

Borrow checking◈ Members↗
FA-43808

Unwind successor receives no live-loan state · case 03

Unwind successor receives no live-loan state.

Borrow checking◈ Members↗
FA-43809

Unwind successor receives no live-loan state · case 04

Unwind successor receives no live-loan state.

Borrow checking◈ Members↗
FA-43810

Unwind successor receives no live-loan state · case 05

Unwind successor receives no live-loan state.

Borrow checking◈ Members↗
FA-43811

Loop analysis accepts the preheader state without backedge loan facts · case 01

Loop analysis accepts the preheader state without backedge loan facts.

Borrow checking● Open access↗
FA-43812

Loop analysis accepts the preheader state without backedge loan facts · case 02

Loop analysis accepts the preheader state without backedge loan facts.

Borrow checking◈ Members↗
FA-43813

Loop analysis accepts the preheader state without backedge loan facts · case 03

Loop analysis accepts the preheader state without backedge loan facts.

Borrow checking◈ Members↗
FA-43814

Loop analysis accepts the preheader state without backedge loan facts · case 04

Loop analysis accepts the preheader state without backedge loan facts.

Borrow checking◈ Members↗
FA-43815

Loop analysis accepts the preheader state without backedge loan facts · case 05

Loop analysis accepts the preheader state without backedge loan facts.

Borrow checking◈ Members↗
FA-43816

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.

Borrow checking● Open access↗
FA-43817

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.

Borrow checking◈ Members↗
FA-43818

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.

Borrow checking◈ Members↗
FA-43819

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.

Borrow checking◈ Members↗
FA-43820

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.

Borrow checking◈ Members↗
FA-43821

Phi borrow origins are assigned to the wrong predecessor edge · case 01

Phi borrow origins are assigned to the wrong predecessor edge.

Borrow checking● Open access↗
FA-43822

Phi borrow origins are assigned to the wrong predecessor edge · case 02

Phi borrow origins are assigned to the wrong predecessor edge.

Borrow checking◈ Members↗
FA-43823

Phi borrow origins are assigned to the wrong predecessor edge · case 03

Phi borrow origins are assigned to the wrong predecessor edge.

Borrow checking◈ Members↗
FA-43824

Phi borrow origins are assigned to the wrong predecessor edge · case 04

Phi borrow origins are assigned to the wrong predecessor edge.

Borrow checking◈ Members↗
FA-43825

Phi borrow origins are assigned to the wrong predecessor edge · case 05

Phi borrow origins are assigned to the wrong predecessor edge.

Borrow checking◈ Members↗
FA-43826

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.

Borrow checking● Open access↗
FA-43827

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.

Borrow checking◈ Members↗
FA-43828

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.

Borrow checking◈ Members↗
FA-43829

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.

Borrow checking◈ Members↗
FA-43830

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.

Borrow checking◈ Members↗
FA-43831

A loop exemption lets unrelated loans exist before their static definition · case 01

A loop exemption lets unrelated loans exist before their static definition.

Borrow checking● Open access↗
FA-43832

A loop exemption lets unrelated loans exist before their static definition · case 02

A loop exemption lets unrelated loans exist before their static definition.

Borrow checking◈ Members↗
FA-43833

A loop exemption lets unrelated loans exist before their static definition · case 03

A loop exemption lets unrelated loans exist before their static definition.

Borrow checking◈ Members↗
FA-43834

A loop exemption lets unrelated loans exist before their static definition · case 04

A loop exemption lets unrelated loans exist before their static definition.

Borrow checking◈ Members↗
FA-43835

A loop exemption lets unrelated loans exist before their static definition · case 05

A loop exemption lets unrelated loans exist before their static definition.

Borrow checking◈ Members↗
FA-43836

A function return invalidates a caller-owned loan · case 01

A function return invalidates a caller-owned loan.

Borrow checking● Open access↗
FA-43837

A function return invalidates a caller-owned loan · case 02

A function return invalidates a caller-owned loan.

Borrow checking◈ Members↗
FA-43838

A function return invalidates a caller-owned loan · case 03

A function return invalidates a caller-owned loan.

Borrow checking◈ Members↗
FA-43839

A function return invalidates a caller-owned loan · case 04

A function return invalidates a caller-owned loan.

Borrow checking◈ Members↗
FA-43840

A function return invalidates a caller-owned loan · case 05

A function return invalidates a caller-owned loan.

Borrow checking◈ Members↗
FA-43841

A failed guard leaves its speculative ownership move committed · case 01

A failed guard leaves its speculative ownership move committed.

Borrow checking● Open access↗
FA-43842

A failed guard leaves its speculative ownership move committed · case 02

A failed guard leaves its speculative ownership move committed.

Borrow checking◈ Members↗
FA-43843

A failed guard leaves its speculative ownership move committed · case 03

A failed guard leaves its speculative ownership move committed.

Borrow checking◈ Members↗
FA-43844

A failed guard leaves its speculative ownership move committed · case 04

A failed guard leaves its speculative ownership move committed.

Borrow checking◈ Members↗
FA-43845

A failed guard leaves its speculative ownership move committed · case 05

A failed guard leaves its speculative ownership move committed.

Borrow checking◈ Members↗
FA-43846

A guard consumes a noncopy place needed by later pattern alternatives · case 01

A guard consumes a noncopy place needed by later pattern alternatives.

Borrow checking● Open access↗
FA-43847

A guard consumes a noncopy place needed by later pattern alternatives · case 02

A guard consumes a noncopy place needed by later pattern alternatives.

Borrow checking◈ Members↗
FA-43848

A guard consumes a noncopy place needed by later pattern alternatives · case 03

A guard consumes a noncopy place needed by later pattern alternatives.

Borrow checking◈ Members↗
FA-43849

A guard consumes a noncopy place needed by later pattern alternatives · case 04

A guard consumes a noncopy place needed by later pattern alternatives.

Borrow checking◈ Members↗
FA-43850

A guard consumes a noncopy place needed by later pattern alternatives · case 05

A guard consumes a noncopy place needed by later pattern alternatives.

Borrow checking◈ Members↗
FA-43851

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.

Borrow checking● Open access↗
FA-43852

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.

Borrow checking◈ Members↗
FA-43853

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.

Borrow checking◈ Members↗
FA-43854

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.

Borrow checking◈ Members↗
FA-43855

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.

Borrow checking◈ Members↗
FA-43856

Guard mutation invalidates the variant witness of a borrowed payload · case 01

Guard mutation invalidates the variant witness of a borrowed payload.

Borrow checking● Open access↗
FA-43857

Guard mutation invalidates the variant witness of a borrowed payload · case 02

Guard mutation invalidates the variant witness of a borrowed payload.

Borrow checking◈ Members↗
FA-43858

Guard mutation invalidates the variant witness of a borrowed payload · case 03

Guard mutation invalidates the variant witness of a borrowed payload.

Borrow checking◈ Members↗
FA-43859

Guard mutation invalidates the variant witness of a borrowed payload · case 04

Guard mutation invalidates the variant witness of a borrowed payload.

Borrow checking◈ Members↗
FA-43860

Guard mutation invalidates the variant witness of a borrowed payload · case 05

Guard mutation invalidates the variant witness of a borrowed payload.

Borrow checking◈ Members↗
FA-43861

Pattern move is committed before guard acceptance · case 01

Pattern move is committed before guard acceptance.

Borrow checking● Open access↗
FA-43862

Pattern move is committed before guard acceptance · case 02

Pattern move is committed before guard acceptance.

Borrow checking◈ Members↗
FA-43863

Pattern move is committed before guard acceptance · case 03

Pattern move is committed before guard acceptance.

Borrow checking◈ Members↗
FA-43864

Pattern move is committed before guard acceptance · case 04

Pattern move is committed before guard acceptance.

Borrow checking◈ Members↗
FA-43865

Pattern move is committed before guard acceptance · case 05

Pattern move is committed before guard acceptance.

Borrow checking◈ Members↗
FA-43866

A pure pattern test unnecessarily acquires an exclusive scrutinee loan · case 01

A pure pattern test unnecessarily acquires an exclusive scrutinee loan.

Borrow checking● Open access↗
FA-43867

A pure pattern test unnecessarily acquires an exclusive scrutinee loan · case 02

A pure pattern test unnecessarily acquires an exclusive scrutinee loan.

Borrow checking◈ Members↗
FA-43868

A pure pattern test unnecessarily acquires an exclusive scrutinee loan · case 03

A pure pattern test unnecessarily acquires an exclusive scrutinee loan.

Borrow checking◈ Members↗
FA-43869

A pure pattern test unnecessarily acquires an exclusive scrutinee loan · case 04

A pure pattern test unnecessarily acquires an exclusive scrutinee loan.

Borrow checking◈ Members↗
FA-43870

A pure pattern test unnecessarily acquires an exclusive scrutinee loan · case 05

A pure pattern test unnecessarily acquires an exclusive scrutinee loan.

Borrow checking◈ Members↗
FA-43871

Postmatch ownership state omits a reachable arm · case 01

Postmatch ownership state omits a reachable arm.

Borrow checking● Open access↗
FA-43872

Postmatch ownership state omits a reachable arm · case 02

Postmatch ownership state omits a reachable arm.

Borrow checking◈ Members↗
FA-43873

Postmatch ownership state omits a reachable arm · case 03

Postmatch ownership state omits a reachable arm.

Borrow checking◈ Members↗
FA-43874

Postmatch ownership state omits a reachable arm · case 04

Postmatch ownership state omits a reachable arm.

Borrow checking◈ Members↗
FA-43875

Postmatch ownership state omits a reachable arm · case 05

Postmatch ownership state omits a reachable arm.

Borrow checking◈ Members↗
FA-43876

A nonexhaustive guarded match omits the no-arm-taken ownership state · case 01

A nonexhaustive guarded match omits the no-arm-taken ownership state.

Borrow checking● Open access↗
FA-43877

A nonexhaustive guarded match omits the no-arm-taken ownership state · case 02

A nonexhaustive guarded match omits the no-arm-taken ownership state.

Borrow checking◈ Members↗
FA-43878

A nonexhaustive guarded match omits the no-arm-taken ownership state · case 03

A nonexhaustive guarded match omits the no-arm-taken ownership state.

Borrow checking◈ Members↗
FA-43879

A nonexhaustive guarded match omits the no-arm-taken ownership state · case 04

A nonexhaustive guarded match omits the no-arm-taken ownership state.

Borrow checking◈ Members↗
FA-43880

A nonexhaustive guarded match omits the no-arm-taken ownership state · case 05

A nonexhaustive guarded match omits the no-arm-taken ownership state.

Borrow checking◈ Members↗
FA-43881

A failed guard retains one temporary borrow into subsequent matching · case 01

A failed guard retains one temporary borrow into subsequent matching.

Borrow checking● Open access↗
FA-43882

A failed guard retains one temporary borrow into subsequent matching · case 02

A failed guard retains one temporary borrow into subsequent matching.

Borrow checking◈ Members↗
FA-43883

A failed guard retains one temporary borrow into subsequent matching · case 03

A failed guard retains one temporary borrow into subsequent matching.

Borrow checking◈ Members↗
FA-43884

A failed guard retains one temporary borrow into subsequent matching · case 04

A failed guard retains one temporary borrow into subsequent matching.

Borrow checking◈ Members↗
FA-43885

A failed guard retains one temporary borrow into subsequent matching · case 05

A failed guard retains one temporary borrow into subsequent matching.

Borrow checking◈ Members↗
FA-43886

A pattern reference ends before the final guard expression use · case 01

A pattern reference ends before the final guard expression use.

Borrow checking● Open access↗
FA-43887

A pattern reference ends before the final guard expression use · case 02

A pattern reference ends before the final guard expression use.

Borrow checking◈ Members↗
FA-43888

A pattern reference ends before the final guard expression use · case 03

A pattern reference ends before the final guard expression use.

Borrow checking◈ Members↗
FA-43889

A pattern reference ends before the final guard expression use · case 04

A pattern reference ends before the final guard expression use.

Borrow checking◈ Members↗
FA-43890

A pattern reference ends before the final guard expression use · case 05

A pattern reference ends before the final guard expression use.

Borrow checking◈ Members↗
FA-43891

Reused machine addresses are merged into one static allocation origin · case 01

Reused machine addresses are merged into one static allocation origin.

Borrow checking● Open access↗
FA-43892

Reused machine addresses are merged into one static allocation origin · case 02

Reused machine addresses are merged into one static allocation origin.

Borrow checking◈ Members↗
FA-43893

Reused machine addresses are merged into one static allocation origin · case 03

Reused machine addresses are merged into one static allocation origin.

Borrow checking◈ Members↗
FA-43894

Reused machine addresses are merged into one static allocation origin · case 04

Reused machine addresses are merged into one static allocation origin.

Borrow checking◈ Members↗
FA-43895

Reused machine addresses are merged into one static allocation origin · case 05

Reused machine addresses are merged into one static allocation origin.

Borrow checking◈ Members↗
FA-43896

A stale allocation generation is accepted by borrow provenance checking · case 01

A stale allocation generation is accepted by borrow provenance checking.

Borrow checking● Open access↗
FA-43897

A stale allocation generation is accepted by borrow provenance checking · case 02

A stale allocation generation is accepted by borrow provenance checking.

Borrow checking◈ Members↗
FA-43898

A stale allocation generation is accepted by borrow provenance checking · case 03

A stale allocation generation is accepted by borrow provenance checking.

Borrow checking◈ Members↗
FA-43899

A stale allocation generation is accepted by borrow provenance checking · case 04

A stale allocation generation is accepted by borrow provenance checking.

Borrow checking◈ Members↗
FA-43900

A stale allocation generation is accepted by borrow provenance checking · case 05

A stale allocation generation is accepted by borrow provenance checking.

Borrow checking◈ Members↗

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 ↗