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
Bloom filter cardinality estimation: union estimate counts concatenated bit lists · case 01
The union estimate is inflated or reported saturated when both filters share bits.
Bloom filter cardinality estimation: union estimate counts concatenated bit lists · case 02
The union estimate is inflated or reported saturated when both filters share bits.
Bloom filter cardinality estimation: union estimate counts concatenated bit lists · case 03
The union estimate is inflated or reported saturated when both filters share bits.
Bloom filter cardinality estimation: union estimate counts concatenated bit lists · case 04
The union estimate is inflated or reported saturated when both filters share bits.
Bloom filter cardinality estimation: union estimate counts concatenated bit lists · case 05
The union estimate is inflated or reported saturated when both filters share bits.
Bloom filter cardinality estimation: intersection estimated from AND-ed bits · case 01
The shared-item estimate is biased upward because AND-ed bits include coincidental collisions.
Bloom filter cardinality estimation: intersection estimated from AND-ed bits · case 02
The shared-item estimate is biased upward because AND-ed bits include coincidental collisions.
Bloom filter cardinality estimation: intersection estimated from AND-ed bits · case 03
The shared-item estimate is biased upward because AND-ed bits include coincidental collisions.
Bloom filter cardinality estimation: intersection estimated from AND-ed bits · case 04
The shared-item estimate is biased upward because AND-ed bits include coincidental collisions.
Bloom filter cardinality estimation: intersection estimated from AND-ed bits · case 05
The shared-item estimate is biased upward because AND-ed bits include coincidental collisions.
Bloom filter cardinality estimation: intersection can become negative · case 01
Disjoint filters report a negative number of shared items.
Bloom filter cardinality estimation: intersection can become negative · case 02
Disjoint filters report a negative number of shared items.
Bloom filter cardinality estimation: intersection can become negative · case 03
Disjoint filters report a negative number of shared items.
Bloom filter cardinality estimation: intersection can become negative · case 04
Disjoint filters report a negative number of shared items.
Bloom filter cardinality estimation: intersection can become negative · case 05
Disjoint filters report a negative number of shared items.
Bloom filter cardinality estimation: saturated filter reports a finite count · case 01
A completely filled filter is reported as containing only m items and yields a finite intersection.
Bloom filter cardinality estimation: saturated filter reports a finite count · case 02
A completely filled filter is reported as containing only m items and yields a finite intersection.
Bloom filter cardinality estimation: saturated filter reports a finite count · case 03
A completely filled filter is reported as containing only m items and yields a finite intersection.
Bloom filter cardinality estimation: saturated filter reports a finite count · case 04
A completely filled filter is reported as containing only m items and yields a finite intersection.
Bloom filter cardinality estimation: saturated filter reports a finite count · case 05
A completely filled filter is reported as containing only m items and yields a finite intersection.
Bloom filter cardinality estimation: estimate uses a base-2 logarithm · case 01
Every item-count estimate is inflated by a factor of about 1.44.
Bloom filter cardinality estimation: estimate uses a base-2 logarithm · case 02
Every item-count estimate is inflated by a factor of about 1.44.
Bloom filter cardinality estimation: estimate uses a base-2 logarithm · case 03
Every item-count estimate is inflated by a factor of about 1.44.
Bloom filter cardinality estimation: estimate uses a base-2 logarithm · case 04
Every item-count estimate is inflated by a factor of about 1.44.
Bloom filter cardinality estimation: estimate uses a base-2 logarithm · case 05
Every item-count estimate is inflated by a factor of about 1.44.
Counting Bloom filter with 4-bit counters: repeated probe position counted twice · case 01
An item whose stride wraps onto an earlier position inflates that counter, and later removals leave residue or drain other items.
Counting Bloom filter with 4-bit counters: repeated probe position counted twice · case 02
An item whose stride wraps onto an earlier position inflates that counter, and later removals leave residue or drain other items.
Counting Bloom filter with 4-bit counters: repeated probe position counted twice · case 03
An item whose stride wraps onto an earlier position inflates that counter, and later removals leave residue or drain other items.
Counting Bloom filter with 4-bit counters: repeated probe position counted twice · case 04
An item whose stride wraps onto an earlier position inflates that counter, and later removals leave residue or drain other items.
Counting Bloom filter with 4-bit counters: repeated probe position counted twice · case 05
An item whose stride wraps onto an earlier position inflates that counter, and later removals leave residue or drain other items.
Counting Bloom filter with 4-bit counters: stride can be congruent to zero · case 01
Some items probe a single counter k times, raising their false-positive and false-negative exposure.
Counting Bloom filter with 4-bit counters: stride can be congruent to zero · case 02
Some items probe a single counter k times, raising their false-positive and false-negative exposure.
Counting Bloom filter with 4-bit counters: stride can be congruent to zero · case 03
Some items probe a single counter k times, raising their false-positive and false-negative exposure.
Counting Bloom filter with 4-bit counters: stride can be congruent to zero · case 04
Some items probe a single counter k times, raising their false-positive and false-negative exposure.
Counting Bloom filter with 4-bit counters: stride can be congruent to zero · case 05
Some items probe a single counter k times, raising their false-positive and false-negative exposure.
Counting Bloom filter with 4-bit counters: 4-bit counter wraps on overflow · case 01
After sixteen inserts of a hot item its counter wraps to zero and the item is reported absent.
Counting Bloom filter with 4-bit counters: 4-bit counter wraps on overflow · case 02
After sixteen inserts of a hot item its counter wraps to zero and the item is reported absent.
Counting Bloom filter with 4-bit counters: 4-bit counter wraps on overflow · case 03
After sixteen inserts of a hot item its counter wraps to zero and the item is reported absent.
Counting Bloom filter with 4-bit counters: 4-bit counter wraps on overflow · case 04
After sixteen inserts of a hot item its counter wraps to zero and the item is reported absent.
Counting Bloom filter with 4-bit counters: 4-bit counter wraps on overflow · case 05
After sixteen inserts of a hot item its counter wraps to zero and the item is reported absent.
Counting Bloom filter with 4-bit counters: saturated counter is decremented · case 01
After a saturated counter is decremented, removing the true multiplicity drives it to zero while other items still map there.
Counting Bloom filter with 4-bit counters: saturated counter is decremented · case 02
After a saturated counter is decremented, removing the true multiplicity drives it to zero while other items still map there.
Counting Bloom filter with 4-bit counters: saturated counter is decremented · case 03
After a saturated counter is decremented, removing the true multiplicity drives it to zero while other items still map there.
Counting Bloom filter with 4-bit counters: saturated counter is decremented · case 04
After a saturated counter is decremented, removing the true multiplicity drives it to zero while other items still map there.
Counting Bloom filter with 4-bit counters: saturated counter is decremented · case 05
After a saturated counter is decremented, removing the true multiplicity drives it to zero while other items still map there.
Counting Bloom filter with 4-bit counters: removal of an absent item partially mutates counters · case 01
Removing an item that was never inserted decrements some counters before discovering a zero, creating false negatives for others.
Counting Bloom filter with 4-bit counters: removal of an absent item partially mutates counters · case 02
Removing an item that was never inserted decrements some counters before discovering a zero, creating false negatives for others.
Counting Bloom filter with 4-bit counters: removal of an absent item partially mutates counters · case 03
Removing an item that was never inserted decrements some counters before discovering a zero, creating false negatives for others.
Counting Bloom filter with 4-bit counters: removal of an absent item partially mutates counters · case 04
Removing an item that was never inserted decrements some counters before discovering a zero, creating false negatives for others.
Counting Bloom filter with 4-bit counters: removal of an absent item partially mutates counters · case 05
Removing an item that was never inserted decrements some counters before discovering a zero, creating false negatives for others.
Counting Bloom filter with 4-bit counters: membership accepts partial matches · case 01
Items sharing only one counter with a stored item are reported present.
Counting Bloom filter with 4-bit counters: membership accepts partial matches · case 02
Items sharing only one counter with a stored item are reported present.
Counting Bloom filter with 4-bit counters: membership accepts partial matches · case 03
Items sharing only one counter with a stored item are reported present.
Counting Bloom filter with 4-bit counters: membership accepts partial matches · case 04
Items sharing only one counter with a stored item are reported present.
Counting Bloom filter with 4-bit counters: membership accepts partial matches · case 05
Items sharing only one counter with a stored item are reported present.
HyperLogLog register update: register index taken from low bits · case 01
Registers are indexed by bits that also feed the rank, correlating index and rho and biasing the estimate.
HyperLogLog register update: register index taken from low bits · case 02
Registers are indexed by bits that also feed the rank, correlating index and rho and biasing the estimate.
HyperLogLog register update: register index taken from low bits · case 03
Registers are indexed by bits that also feed the rank, correlating index and rho and biasing the estimate.
HyperLogLog register update: register index taken from low bits · case 04
Registers are indexed by bits that also feed the rank, correlating index and rho and biasing the estimate.
HyperLogLog register update: register index taken from low bits · case 05
Registers are indexed by bits that also feed the rank, correlating index and rho and biasing the estimate.
HyperLogLog register update: rank word not truncated to 32 bits · case 01
Ranks come out too small (even zero or negative) because index bits remain above the word.
HyperLogLog register update: rank word not truncated to 32 bits · case 02
Ranks come out too small (even zero or negative) because index bits remain above the word.
HyperLogLog register update: rank word not truncated to 32 bits · case 03
Ranks come out too small (even zero or negative) because index bits remain above the word.
HyperLogLog register update: rank word not truncated to 32 bits · case 04
Ranks come out too small (even zero or negative) because index bits remain above the word.
HyperLogLog register update: rank word not truncated to 32 bits · case 05
Ranks come out too small (even zero or negative) because index bits remain above the word.
HyperLogLog register update: all-zero remainder gets rank 33 · case 01
A hash whose remainder is zero stores a rank larger than any valid value for the precision.
HyperLogLog register update: all-zero remainder gets rank 33 · case 02
A hash whose remainder is zero stores a rank larger than any valid value for the precision.
HyperLogLog register update: all-zero remainder gets rank 33 · case 03
A hash whose remainder is zero stores a rank larger than any valid value for the precision.
HyperLogLog register update: all-zero remainder gets rank 33 · case 04
A hash whose remainder is zero stores a rank larger than any valid value for the precision.
HyperLogLog register update: all-zero remainder gets rank 33 · case 05
A hash whose remainder is zero stores a rank larger than any valid value for the precision.
HyperLogLog register update: register overwritten by the latest rank · case 01
A later small rank erases the maximum, making estimates depend on arrival order.
HyperLogLog register update: register overwritten by the latest rank · case 02
A later small rank erases the maximum, making estimates depend on arrival order.
HyperLogLog register update: register overwritten by the latest rank · case 03
A later small rank erases the maximum, making estimates depend on arrival order.
HyperLogLog register update: register overwritten by the latest rank · case 04
A later small rank erases the maximum, making estimates depend on arrival order.
HyperLogLog register update: register overwritten by the latest rank · case 05
A later small rank erases the maximum, making estimates depend on arrival order.
HyperLogLog register update: rank counts leading zeros without the +1 · case 01
Every register is one lower, shrinking the estimate by about half.
HyperLogLog register update: rank counts leading zeros without the +1 · case 02
Every register is one lower, shrinking the estimate by about half.
HyperLogLog register update: rank counts leading zeros without the +1 · case 03
Every register is one lower, shrinking the estimate by about half.
HyperLogLog register update: rank counts leading zeros without the +1 · case 04
Every register is one lower, shrinking the estimate by about half.
HyperLogLog register update: rank counts leading zeros without the +1 · case 05
Every register is one lower, shrinking the estimate by about half.
HyperLogLog register update: hash masked to 31 bits · case 01
A port that stores hashes in signed 32-bit integers never uses the upper half of the registers.
HyperLogLog register update: hash masked to 31 bits · case 02
A port that stores hashes in signed 32-bit integers never uses the upper half of the registers.
HyperLogLog register update: hash masked to 31 bits · case 03
A port that stores hashes in signed 32-bit integers never uses the upper half of the registers.
HyperLogLog register update: hash masked to 31 bits · case 04
A port that stores hashes in signed 32-bit integers never uses the upper half of the registers.
HyperLogLog register update: hash masked to 31 bits · case 05
A port that stores hashes in signed 32-bit integers never uses the upper half of the registers.
HyperLogLog cardinality estimate: small-register alpha constants ignored · case 01
Estimates for 16, 32 and 64 registers are biased by the asymptotic constant.
HyperLogLog cardinality estimate: small-register alpha constants ignored · case 02
Estimates for 16, 32 and 64 registers are biased by the asymptotic constant.
HyperLogLog cardinality estimate: small-register alpha constants ignored · case 03
Estimates for 16, 32 and 64 registers are biased by the asymptotic constant.
HyperLogLog cardinality estimate: small-register alpha constants ignored · case 04
Estimates for 16, 32 and 64 registers are biased by the asymptotic constant.
HyperLogLog cardinality estimate: small-register alpha constants ignored · case 05
Estimates for 16, 32 and 64 registers are biased by the asymptotic constant.
HyperLogLog cardinality estimate: harmonic sum skips empty registers · case 01
Raw estimates explode for sparse sketches because empty registers no longer contribute 1 each.
HyperLogLog cardinality estimate: harmonic sum skips empty registers · case 02
Raw estimates explode for sparse sketches because empty registers no longer contribute 1 each.
HyperLogLog cardinality estimate: harmonic sum skips empty registers · case 03
Raw estimates explode for sparse sketches because empty registers no longer contribute 1 each.
HyperLogLog cardinality estimate: harmonic sum skips empty registers · case 04
Raw estimates explode for sparse sketches because empty registers no longer contribute 1 each.
HyperLogLog cardinality estimate: harmonic sum skips empty registers · case 05
Raw estimates explode for sparse sketches because empty registers no longer contribute 1 each.
HyperLogLog cardinality estimate: linear counting uses non-empty registers · case 01
Small cardinalities are estimated from the wrong register population.
HyperLogLog cardinality estimate: linear counting uses non-empty registers · case 02
Small cardinalities are estimated from the wrong register population.
HyperLogLog cardinality estimate: linear counting uses non-empty registers · case 03
Small cardinalities are estimated from the wrong register population.
HyperLogLog cardinality estimate: linear counting uses non-empty registers · case 04
Small cardinalities are estimated from the wrong register population.
HyperLogLog cardinality estimate: linear counting uses non-empty registers · case 05
Small cardinalities are estimated from the wrong register population.
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 ↗