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
RS error flag only inspects the first syndrome · case 01
Errors that happen to leave S_0 zero are reported clean.
RS error flag only inspects the first syndrome · case 02
Errors that happen to leave S_0 zero are reported clean.
RS error flag only inspects the first syndrome · case 03
Errors that happen to leave S_0 zero are reported clean.
RS error flag only inspects the first syndrome · case 04
Errors that happen to leave S_0 zero are reported clean.
RS error flag only inspects the first syndrome · case 05
Errors that happen to leave S_0 zero are reported clean.
RS single-error locator uses S0 over S1 · case 01
Correctable errors are written at the mirrored degree or rejected.
RS single-error locator uses S0 over S1 · case 02
Correctable errors are written at the mirrored degree or rejected.
RS single-error locator uses S0 over S1 · case 03
Correctable errors are written at the mirrored degree or rejected.
RS single-error locator uses S0 over S1 · case 04
Correctable errors are written at the mirrored degree or rejected.
RS single-error locator uses S0 over S1 · case 05
Correctable errors are written at the mirrored degree or rejected.
RS single-error correction indexes by degree · case 01
The error value is applied to the symbol at the mirrored position.
RS single-error correction indexes by degree · case 02
The error value is applied to the symbol at the mirrored position.
RS single-error correction indexes by degree · case 03
The error value is applied to the symbol at the mirrored position.
RS single-error correction indexes by degree · case 04
The error value is applied to the symbol at the mirrored position.
RS single-error correction indexes by degree · case 05
The error value is applied to the symbol at the mirrored position.
RS single-error correction applies S1 as the magnitude · case 01
The located symbol is changed by the wrong amount.
RS single-error correction applies S1 as the magnitude · case 02
The located symbol is changed by the wrong amount.
RS single-error correction applies S1 as the magnitude · case 03
The located symbol is changed by the wrong amount.
RS single-error correction applies S1 as the magnitude · case 04
The located symbol is changed by the wrong amount.
RS single-error correction applies S1 as the magnitude · case 05
The located symbol is changed by the wrong amount.
RS single-error correction accepts a locator beyond the block · case 01
Multi-symbol errors are "corrected" at a wrapped position.
RS single-error correction accepts a locator beyond the block · case 02
Multi-symbol errors are "corrected" at a wrapped position.
RS single-error correction accepts a locator beyond the block · case 03
Multi-symbol errors are "corrected" at a wrapped position.
RS single-error correction accepts a locator beyond the block · case 04
Multi-symbol errors are "corrected" at a wrapped position.
RS single-error correction accepts a locator beyond the block · case 05
Multi-symbol errors are "corrected" at a wrapped position.
RS single-error correction ignores a lone zero syndrome · case 01
Error patterns with exactly one zero syndrome are "corrected" using log(0).
RS single-error correction ignores a lone zero syndrome · case 02
Error patterns with exactly one zero syndrome are "corrected" using log(0).
RS single-error correction ignores a lone zero syndrome · case 03
Error patterns with exactly one zero syndrome are "corrected" using log(0).
RS single-error correction ignores a lone zero syndrome · case 04
Error patterns with exactly one zero syndrome are "corrected" using log(0).
RS single-error correction ignores a lone zero syndrome · case 05
Error patterns with exactly one zero syndrome are "corrected" using log(0).
RAID-5 parity rotates in the right-asymmetric direction · case 01
Rebuilt stripes return parity as data for most stripes.
RAID-5 parity rotates in the right-asymmetric direction · case 02
Rebuilt stripes return parity as data for most stripes.
RAID-5 parity rotates in the right-asymmetric direction · case 03
Rebuilt stripes return parity as data for most stripes.
RAID-5 parity rotates in the right-asymmetric direction · case 04
Rebuilt stripes return parity as data for most stripes.
RAID-5 parity rotates in the right-asymmetric direction · case 05
Rebuilt stripes return parity as data for most stripes.
RAID-5 reads data chunks in disk order · case 01
Logical chunks come back rotated for stripes whose parity is not on the last disk.
RAID-5 reads data chunks in disk order · case 02
Logical chunks come back rotated for stripes whose parity is not on the last disk.
RAID-5 reads data chunks in disk order · case 03
Logical chunks come back rotated for stripes whose parity is not on the last disk.
RAID-5 reads data chunks in disk order · case 04
Logical chunks come back rotated for stripes whose parity is not on the last disk.
RAID-5 reads data chunks in disk order · case 05
Logical chunks come back rotated for stripes whose parity is not on the last disk.
RAID-5 skips the parity consistency check · case 01
Stripes with silent corruption are returned as valid data.
RAID-5 skips the parity consistency check · case 02
Stripes with silent corruption are returned as valid data.
RAID-5 skips the parity consistency check · case 03
Stripes with silent corruption are returned as valid data.
RAID-5 skips the parity consistency check · case 04
Stripes with silent corruption are returned as valid data.
RAID-5 skips the parity consistency check · case 05
Stripes with silent corruption are returned as valid data.
RAID-6 weights disks by g to the power k plus one · case 01
Q-based rebuilds return wrong bytes.
RAID-6 weights disks by g to the power k plus one · case 02
Q-based rebuilds return wrong bytes.
RAID-6 weights disks by g to the power k plus one · case 03
Q-based rebuilds return wrong bytes.
RAID-6 weights disks by g to the power k plus one · case 04
Q-based rebuilds return wrong bytes.
RAID-6 weights disks by g to the power k plus one · case 05
Q-based rebuilds return wrong bytes.
RAID-6 multiplies by g to the i instead of dividing · case 01
Rebuilt blocks are wrong except on disk 0.
RAID-6 multiplies by g to the i instead of dividing · case 02
Rebuilt blocks are wrong except on disk 0.
RAID-6 multiplies by g to the i instead of dividing · case 03
Rebuilt blocks are wrong except on disk 0.
RAID-6 multiplies by g to the i instead of dividing · case 04
Rebuilt blocks are wrong except on disk 0.
RAID-6 multiplies by g to the i instead of dividing · case 05
Rebuilt blocks are wrong except on disk 0.
Product code corrects the first of several failing intersections · case 01
Two-bit errors are "corrected" into a third wrong bit.
Product code corrects the first of several failing intersections · case 02
Two-bit errors are "corrected" into a third wrong bit.
Product code corrects the first of several failing intersections · case 03
Two-bit errors are "corrected" into a third wrong bit.
Product code corrects the first of several failing intersections · case 04
Two-bit errors are "corrected" into a third wrong bit.
Product code corrects the first of several failing intersections · case 05
Two-bit errors are "corrected" into a third wrong bit.
Product code never checks the row-parity column · case 01
An error in a row parity bit is reported uncorrectable.
Product code never checks the row-parity column · case 02
An error in a row parity bit is reported uncorrectable.
Product code never checks the row-parity column · case 03
An error in a row parity bit is reported uncorrectable.
Product code never checks the row-parity column · case 04
An error in a row parity bit is reported uncorrectable.
Product code never checks the row-parity column · case 05
An error in a row parity bit is reported uncorrectable.
Product code returns the parity row with the data · case 01
Corrected blocks contain one extra row of parity bits.
Product code returns the parity row with the data · case 02
Corrected blocks contain one extra row of parity bits.
Product code returns the parity row with the data · case 03
Corrected blocks contain one extra row of parity bits.
Product code returns the parity row with the data · case 04
Corrected blocks contain one extra row of parity bits.
Product code returns the parity row with the data · case 05
Corrected blocks contain one extra row of parity bits.
Reed-Muller decoder correlates raw bits · case 01
Decoded messages are wrong because correlations are not symmetric around zero.
Reed-Muller decoder correlates raw bits · case 02
Decoded messages are wrong because correlations are not symmetric around zero.
Reed-Muller decoder correlates raw bits · case 03
Decoded messages are wrong because correlations are not symmetric around zero.
Reed-Muller decoder correlates raw bits · case 04
Decoded messages are wrong because correlations are not symmetric around zero.
Reed-Muller decoder correlates raw bits · case 05
Decoded messages are wrong because correlations are not symmetric around zero.
Reed-Muller decoder ignores negative correlation peaks · case 01
Messages with m0 = 1 decode to the wrong linear part.
Reed-Muller decoder ignores negative correlation peaks · case 02
Messages with m0 = 1 decode to the wrong linear part.
Reed-Muller decoder ignores negative correlation peaks · case 03
Messages with m0 = 1 decode to the wrong linear part.
Reed-Muller decoder ignores negative correlation peaks · case 04
Messages with m0 = 1 decode to the wrong linear part.
Reed-Muller decoder ignores negative correlation peaks · case 05
Messages with m0 = 1 decode to the wrong linear part.
Reed-Muller transform butterfly subtracts in the wrong order · case 01
Correlations for odd u come out negated or misplaced.
Reed-Muller transform butterfly subtracts in the wrong order · case 02
Correlations for odd u come out negated or misplaced.
Reed-Muller transform butterfly subtracts in the wrong order · case 03
Correlations for odd u come out negated or misplaced.
Reed-Muller transform butterfly subtracts in the wrong order · case 04
Correlations for odd u come out negated or misplaced.
Reed-Muller transform butterfly subtracts in the wrong order · case 05
Correlations for odd u come out negated or misplaced.
Reed-Muller decoder reads the index bits little-endian · case 01
m1 and m3 come back swapped.
Reed-Muller decoder reads the index bits little-endian · case 02
m1 and m3 come back swapped.
Reed-Muller decoder reads the index bits little-endian · case 03
m1 and m3 come back swapped.
Reed-Muller decoder reads the index bits little-endian · case 04
m1 and m3 come back swapped.
Reed-Muller decoder reads the index bits little-endian · case 05
m1 and m3 come back swapped.
Min-sum sign includes the edge own message · case 01
Outgoing messages point back towards the incoming belief instead of the extrinsic one.
Min-sum sign includes the edge own message · case 02
Outgoing messages point back towards the incoming belief instead of the extrinsic one.
Min-sum sign includes the edge own message · case 03
Outgoing messages point back towards the incoming belief instead of the extrinsic one.
Min-sum sign includes the edge own message · case 04
Outgoing messages point back towards the incoming belief instead of the extrinsic one.
Min-sum sign includes the edge own message · case 05
Outgoing messages point back towards the incoming belief instead of the extrinsic one.
Min-sum magnitude includes the edge own message · case 01
The least reliable edge receives its own small magnitude back.
Min-sum magnitude includes the edge own message · case 02
The least reliable edge receives its own small magnitude back.
Min-sum magnitude includes the edge own message · case 03
The least reliable edge receives its own small magnitude back.
Min-sum magnitude includes the edge own message · case 04
The least reliable edge receives its own small magnitude back.
Min-sum magnitude includes the edge own message · case 05
The least reliable edge receives its own small magnitude back.
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 ↗