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
A new alarm occurrence inherits the previous acknowledgement · case 01
An alarm that returns after being acknowledged is shown as already acknowledged.
A new alarm occurrence inherits the previous acknowledgement · case 02
An alarm that returns after being acknowledged is shown as already acknowledged.
A new alarm occurrence inherits the previous acknowledgement · case 03
An alarm that returns after being acknowledged is shown as already acknowledged.
A new alarm occurrence inherits the previous acknowledgement · case 04
An alarm that returns after being acknowledged is shown as already acknowledged.
A new alarm occurrence inherits the previous acknowledgement · case 05
An alarm that returns after being acknowledged is shown as already acknowledged.
Acknowledging a latched alarm clears it · case 01
Operators clear latched alarms with the acknowledge button, bypassing the reset.
Acknowledging a latched alarm clears it · case 02
Operators clear latched alarms with the acknowledge button, bypassing the reset.
Acknowledging a latched alarm clears it · case 03
Operators clear latched alarms with the acknowledge button, bypassing the reset.
Acknowledging a latched alarm clears it · case 04
Operators clear latched alarms with the acknowledge button, bypassing the reset.
Acknowledging a latched alarm clears it · case 05
Operators clear latched alarms with the acknowledge button, bypassing the reset.
Alarm reset clears an alarm whose condition is still true · case 01
Pressing reset during an active condition briefly clears it and then re-announces it unacknowledged.
Alarm reset clears an alarm whose condition is still true · case 02
Pressing reset during an active condition briefly clears it and then re-announces it unacknowledged.
Alarm reset clears an alarm whose condition is still true · case 03
Pressing reset during an active condition briefly clears it and then re-announces it unacknowledged.
Alarm reset clears an alarm whose condition is still true · case 04
Pressing reset during an active condition briefly clears it and then re-announces it unacknowledged.
Alarm reset clears an alarm whose condition is still true · case 05
Pressing reset during an active condition briefly clears it and then re-announces it unacknowledged.
Analog scaling ignores the 4 mA live zero · case 01
A transmitter at 4 mA reads a fifth of full scale instead of the bottom of range.
Analog scaling ignores the 4 mA live zero · case 02
A transmitter at 4 mA reads a fifth of full scale instead of the bottom of range.
Analog scaling ignores the 4 mA live zero · case 03
A transmitter at 4 mA reads a fifth of full scale instead of the bottom of range.
Analog scaling ignores the 4 mA live zero · case 04
A transmitter at 4 mA reads a fifth of full scale instead of the bottom of range.
Analog scaling ignores the 4 mA live zero · case 05
A transmitter at 4 mA reads a fifth of full scale instead of the bottom of range.
Analog scaling divides by the 0-20 mA span · case 01
Readings are compressed and full scale is never reached at 20 mA.
Analog scaling divides by the 0-20 mA span · case 02
Readings are compressed and full scale is never reached at 20 mA.
Analog scaling divides by the 0-20 mA span · case 03
Readings are compressed and full scale is never reached at 20 mA.
Analog scaling divides by the 0-20 mA span · case 04
Readings are compressed and full scale is never reached at 20 mA.
Analog scaling divides by the 0-20 mA span · case 05
Readings are compressed and full scale is never reached at 20 mA.
Scaled analog value is truncated instead of rounded · case 01
Displayed values sit one tenth low about half the time.
Scaled analog value is truncated instead of rounded · case 02
Displayed values sit one tenth low about half the time.
Scaled analog value is truncated instead of rounded · case 03
Displayed values sit one tenth low about half the time.
Scaled analog value is truncated instead of rounded · case 04
Displayed values sit one tenth low about half the time.
Scaled analog value is truncated instead of rounded · case 05
Displayed values sit one tenth low about half the time.
Scaled analog value escapes the engineering range · case 01
Signals between 3.6 and 4 mA or between 20 and 20.5 mA report values outside the calibrated range.
Scaled analog value escapes the engineering range · case 02
Signals between 3.6 and 4 mA or between 20 and 20.5 mA report values outside the calibrated range.
Scaled analog value escapes the engineering range · case 03
Signals between 3.6 and 4 mA or between 20 and 20.5 mA report values outside the calibrated range.
Scaled analog value escapes the engineering range · case 04
Signals between 3.6 and 4 mA or between 20 and 20.5 mA report values outside the calibrated range.
Scaled analog value escapes the engineering range · case 05
Signals between 3.6 and 4 mA or between 20 and 20.5 mA report values outside the calibrated range.
Open-wire fault forces the value to the bottom of range · case 01
A broken transmitter wire makes the process value jump to its low limit instead of holding.
Open-wire fault forces the value to the bottom of range · case 02
A broken transmitter wire makes the process value jump to its low limit instead of holding.
Open-wire fault forces the value to the bottom of range · case 03
A broken transmitter wire makes the process value jump to its low limit instead of holding.
Open-wire fault forces the value to the bottom of range · case 04
A broken transmitter wire makes the process value jump to its low limit instead of holding.
Open-wire fault forces the value to the bottom of range · case 05
A broken transmitter wire makes the process value jump to its low limit instead of holding.
Any signal below 4 mA is reported as an open wire · case 01
A transmitter drifting slightly under 4 mA is treated as a broken wire.
Any signal below 4 mA is reported as an open wire · case 02
A transmitter drifting slightly under 4 mA is treated as a broken wire.
Any signal below 4 mA is reported as an open wire · case 03
A transmitter drifting slightly under 4 mA is treated as a broken wire.
Any signal below 4 mA is reported as an open wire · case 04
A transmitter drifting slightly under 4 mA is treated as a broken wire.
Any signal below 4 mA is reported as an open wire · case 05
A transmitter drifting slightly under 4 mA is treated as a broken wire.
Any signal above 20 mA is reported as over-range · case 01
A transmitter calibrated slightly high trips over-range at full scale.
Any signal above 20 mA is reported as over-range · case 02
A transmitter calibrated slightly high trips over-range at full scale.
Any signal above 20 mA is reported as over-range · case 03
A transmitter calibrated slightly high trips over-range at full scale.
Any signal above 20 mA is reported as over-range · case 04
A transmitter calibrated slightly high trips over-range at full scale.
Any signal above 20 mA is reported as over-range · case 05
A transmitter calibrated slightly high trips over-range at full scale.
Free-running clock timer mishandles the tick counter rollover · case 01
A delay that spans the 65535-to-0 rollover reports negative elapsed time and never finishes.
Free-running clock timer mishandles the tick counter rollover · case 02
A delay that spans the 65535-to-0 rollover reports negative elapsed time and never finishes.
Free-running clock timer mishandles the tick counter rollover · case 03
A delay that spans the 65535-to-0 rollover reports negative elapsed time and never finishes.
Free-running clock timer mishandles the tick counter rollover · case 04
A delay that spans the 65535-to-0 rollover reports negative elapsed time and never finishes.
Free-running clock timer mishandles the tick counter rollover · case 05
A delay that spans the 65535-to-0 rollover reports negative elapsed time and never finishes.
Free-running clock timer loses done after the elapsed value wraps · case 01
A timer that finished long ago drops its done bit when the clock has gone all the way round.
Free-running clock timer loses done after the elapsed value wraps · case 02
A timer that finished long ago drops its done bit when the clock has gone all the way round.
Free-running clock timer loses done after the elapsed value wraps · case 03
A timer that finished long ago drops its done bit when the clock has gone all the way round.
Free-running clock timer loses done after the elapsed value wraps · case 04
A timer that finished long ago drops its done bit when the clock has gone all the way round.
Free-running clock timer loses done after the elapsed value wraps · case 05
A timer that finished long ago drops its done bit when the clock has gone all the way round.
Free-running clock timer captures its start tick while disabled · case 01
After an idle period the timer finishes immediately because time before the enable is counted.
Free-running clock timer captures its start tick while disabled · case 02
After an idle period the timer finishes immediately because time before the enable is counted.
Free-running clock timer captures its start tick while disabled · case 03
After an idle period the timer finishes immediately because time before the enable is counted.
Free-running clock timer captures its start tick while disabled · case 04
After an idle period the timer finishes immediately because time before the enable is counted.
Free-running clock timer captures its start tick while disabled · case 05
After an idle period the timer finishes immediately because time before the enable is counted.
Free-running clock timer reports raw elapsed ticks after completion · case 01
The reported accumulated time keeps changing (and wraps) after the timer is done.
Free-running clock timer reports raw elapsed ticks after completion · case 02
The reported accumulated time keeps changing (and wraps) after the timer is done.
Free-running clock timer reports raw elapsed ticks after completion · case 03
The reported accumulated time keeps changing (and wraps) after the timer is done.
Free-running clock timer reports raw elapsed ticks after completion · case 04
The reported accumulated time keeps changing (and wraps) after the timer is done.
Free-running clock timer reports raw elapsed ticks after completion · case 05
The reported accumulated time keeps changing (and wraps) after the timer is done.
Two-hand window rejects a second press exactly at the limit · case 01
Operators pressing the second button right at the synchronous-time limit cannot start the press.
Two-hand window rejects a second press exactly at the limit · case 02
Operators pressing the second button right at the synchronous-time limit cannot start the press.
Two-hand window rejects a second press exactly at the limit · case 03
Operators pressing the second button right at the synchronous-time limit cannot start the press.
Two-hand window rejects a second press exactly at the limit · case 04
Operators pressing the second button right at the synchronous-time limit cannot start the press.
Two-hand window rejects a second press exactly at the limit · case 05
Operators pressing the second button right at the synchronous-time limit cannot start the press.
Two-hand control re-arms when only one button is released · case 01
Tying down one button and pulsing the other still starts the press.
Two-hand control re-arms when only one button is released · case 02
Tying down one button and pulsing the other still starts the press.
Two-hand control re-arms when only one button is released · case 03
Tying down one button and pulsing the other still starts the press.
Two-hand control re-arms when only one button is released · case 04
Tying down one button and pulsing the other still starts the press.
Two-hand control re-arms when only one button is released · case 05
Tying down one button and pulsing the other still starts the press.
Two-hand window start is not cleared when both hands release · case 01
After a failed attempt, a new correct two-hand press is refused because the window is measured from the old press.
Two-hand window start is not cleared when both hands release · case 02
After a failed attempt, a new correct two-hand press is refused because the window is measured from the old press.
Two-hand window start is not cleared when both hands release · case 03
After a failed attempt, a new correct two-hand press is refused because the window is measured from the old press.
Two-hand window start is not cleared when both hands release · case 04
After a failed attempt, a new correct two-hand press is refused because the window is measured from the old press.
Two-hand window start is not cleared when both hands release · case 05
After a failed attempt, a new correct two-hand press is refused because the window is measured from the old press.
Two-hand press keeps running after one hand is removed · case 01
The press stroke continues with only one button held.
Two-hand press keeps running after one hand is removed · case 02
The press stroke continues with only one button held.
Two-hand press keeps running after one hand is removed · case 03
The press stroke continues with only one button held.
Two-hand press keeps running after one hand is removed · case 04
The press stroke continues with only one button held.
Two-hand press keeps running after one hand is removed · case 05
The press stroke continues with only one button held.
Stack light ignores alarms already active on the first scan · case 01
An alarm present when the panel starts never flashes or sounds the horn.
Stack light ignores alarms already active on the first scan · case 02
An alarm present when the panel starts never flashes or sounds the horn.
Stack light ignores alarms already active on the first scan · case 03
An alarm present when the panel starts never flashes or sounds the horn.
Stack light ignores alarms already active on the first scan · case 04
An alarm present when the panel starts never flashes or sounds the horn.
Stack light ignores alarms already active on the first scan · case 05
An alarm present when the panel starts never flashes or sounds the horn.
Cleared alarms remain unacknowledged and keep the horn on · case 01
The horn keeps sounding after every alarm has returned to normal.
Cleared alarms remain unacknowledged and keep the horn on · case 02
The horn keeps sounding after every alarm has returned to normal.
Cleared alarms remain unacknowledged and keep the horn on · case 03
The horn keeps sounding after every alarm has returned to normal.
Cleared alarms remain unacknowledged and keep the horn on · case 04
The horn keeps sounding after every alarm has returned to normal.
Cleared alarms remain unacknowledged and keep the horn on · case 05
The horn keeps sounding after every alarm has returned to normal.
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 ↗