FAILURE MAP
← Case archive

FA-11516 / Static analysis soundness / Open access

A definition kills its own incoming operand use · case 01

A definition kills its own incoming operand use.

Verified by executionVariant 1 · 6 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The backward transfer removes definitions after inserting uses.

VERIFIED REPAIR

Kill outgoing definitions first, then generate all incoming uses.

Unsuccessful approach: Removing the kill entirely preserves overwritten values that have no incoming use.

Case contract

Return sorted live-in variables for one instruction: uses union (live-out minus definitions). Uses occur before this instruction writes definitions.

Why this case matters

A deterministic offline analysis model exposing a specific soundness or precision boundary; it does not implement a complete language analyzer.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(out, defs, uses):
    return sorted((set(out)|set(uses))-set(defs))
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
x='v'+str(N)
check('read modify write',solve([],[x],[x]),[x])
check('overwrite dead incoming',solve([x],[x],[]),[])
check('independent use',solve([],[x],['a']),['a'])
check('passthrough',solve([x],[],[]),[x])
check('empty instruction',solve([],[],[]),[])
check('other live value',solve(['a',x],[x],[x]),['a',x])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
read modify write[]['v1']Failed
overwrite dead incoming[][]Passed
independent use['a']['a']Passed
passthrough['v1']['v1']Passed
empty instruction[][]Passed
other live value['a']['a', 'v1']Failed

SHA-256 / 6bd5e176f8264ed2210dcc8a9ca011aed93c23bbedec68c0c84387962a2e60f7

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(out, defs, uses):
    return sorted(set(out)|set(uses))
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
x='v'+str(N)
check('read modify write',solve([],[x],[x]),[x])
check('overwrite dead incoming',solve([x],[x],[]),[])
check('independent use',solve([],[x],['a']),['a'])
check('passthrough',solve([x],[],[]),[x])
check('empty instruction',solve([],[],[]),[])
check('other live value',solve(['a',x],[x],[x]),['a',x])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
read modify write['v1']['v1']Passed
overwrite dead incoming['v1'][]Failed
independent use['a']['a']Passed
passthrough['v1']['v1']Passed
empty instruction[][]Passed
other live value['a', 'v1']['a', 'v1']Passed

SHA-256 / ca5ad90226049afeb533a51a4d1ad46717abab1ad3559f3278146c4a60d73a64

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(out, defs, uses):
    return sorted(set(uses)|(set(out)-set(defs)))
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
x='v'+str(N)
check('read modify write',solve([],[x],[x]),[x])
check('overwrite dead incoming',solve([x],[x],[]),[])
check('independent use',solve([],[x],['a']),['a'])
check('passthrough',solve([x],[],[]),[x])
check('empty instruction',solve([],[],[]),[])
check('other live value',solve(['a',x],[x],[x]),['a',x])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
read modify write['v1']['v1']Passed
overwrite dead incoming[][]Passed
independent use['a']['a']Passed
passthrough['v1']['v1']Passed
empty instruction[][]Passed
other live value['a', 'v1']['a', 'v1']Passed

SHA-256 / 706addde3a8ff682e6478b8fbdc49a825979709bd488df103d023e4b54dd7859

Verification & scope

This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.

Observations recorded using Python 3.12.14 at 2026-09-29T14:38:48.643333+00:00.

Case digest / 800cdcf6815b6030d3d7e0ab3b3ce4266d6878f407cc1259d408b7f8a4643883