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
Verhoeff composes the dihedral product in the wrong order · case 01
Numbers containing reflections produce wrong check digits.
Verhoeff composes the dihedral product in the wrong order · case 02
Numbers containing reflections produce wrong check digits.
Verhoeff composes the dihedral product in the wrong order · case 03
Numbers containing reflections produce wrong check digits.
Verhoeff composes the dihedral product in the wrong order · case 04
Numbers containing reflections produce wrong check digits.
Verhoeff composes the dihedral product in the wrong order · case 05
Numbers containing reflections produce wrong check digits.
Damm looks up the digit row instead of the interim row · case 01
Most generated check digits disagree with the Damm reference.
Damm looks up the digit row instead of the interim row · case 02
Most generated check digits disagree with the Damm reference.
Damm looks up the digit row instead of the interim row · case 03
Most generated check digits disagree with the Damm reference.
Damm looks up the digit row instead of the interim row · case 04
Most generated check digits disagree with the Damm reference.
Damm looks up the digit row instead of the interim row · case 05
Most generated check digits disagree with the Damm reference.
Damm processes digits right to left · case 01
Check digits only match for palindromic payloads.
Damm processes digits right to left · case 02
Check digits only match for palindromic payloads.
Damm processes digits right to left · case 03
Check digits only match for palindromic payloads.
Damm processes digits right to left · case 04
Check digits only match for palindromic payloads.
Damm processes digits right to left · case 05
Check digits only match for palindromic payloads.
Damm rejects space-grouped references · case 01
References printed in groups of digits return None.
Damm rejects space-grouped references · case 02
References printed in groups of digits return None.
Damm rejects space-grouped references · case 03
References printed in groups of digits return None.
Damm rejects space-grouped references · case 04
References printed in groups of digits return None.
Damm rejects space-grouped references · case 05
References printed in groups of digits return None.
ISBN-10 weights start at nine · case 01
Correct ISBNs are rejected and some typos are accepted.
ISBN-10 weights start at nine · case 02
Correct ISBNs are rejected and some typos are accepted.
ISBN-10 weights start at nine · case 03
Correct ISBNs are rejected and some typos are accepted.
ISBN-10 weights start at nine · case 04
Correct ISBNs are rejected and some typos are accepted.
ISBN-10 weights start at nine · case 05
Correct ISBNs are rejected and some typos are accepted.
ISBN-10 validates the weighted sum modulo ten · case 01
X-terminated and many digit-terminated ISBNs are judged incorrectly.
ISBN-10 validates the weighted sum modulo ten · case 02
X-terminated and many digit-terminated ISBNs are judged incorrectly.
ISBN-10 validates the weighted sum modulo ten · case 03
X-terminated and many digit-terminated ISBNs are judged incorrectly.
ISBN-10 validates the weighted sum modulo ten · case 04
X-terminated and many digit-terminated ISBNs are judged incorrectly.
ISBN-10 validates the weighted sum modulo ten · case 05
X-terminated and many digit-terminated ISBNs are judged incorrectly.
ISBN-10 removes only the first hyphen · case 01
Hyphenated ISBNs are reported malformed.
ISBN-10 removes only the first hyphen · case 02
Hyphenated ISBNs are reported malformed.
ISBN-10 removes only the first hyphen · case 03
Hyphenated ISBNs are reported malformed.
ISBN-10 removes only the first hyphen · case 04
Hyphenated ISBNs are reported malformed.
ISBN-10 removes only the first hyphen · case 05
Hyphenated ISBNs are reported malformed.
ISBN-13 conversion keeps the ISBN-10 check character · case 01
Converted numbers end with the old mod-11 check (sometimes X) instead of an EAN check digit.
ISBN-13 conversion keeps the ISBN-10 check character · case 02
Converted numbers end with the old mod-11 check (sometimes X) instead of an EAN check digit.
ISBN-13 conversion keeps the ISBN-10 check character · case 03
Converted numbers end with the old mod-11 check (sometimes X) instead of an EAN check digit.
ISBN-13 conversion keeps the ISBN-10 check character · case 04
Converted numbers end with the old mod-11 check (sometimes X) instead of an EAN check digit.
ISBN-13 conversion keeps the ISBN-10 check character · case 05
Converted numbers end with the old mod-11 check (sometimes X) instead of an EAN check digit.
ISBN-13 conversion weights the prefix digit by three · case 01
Converted ISBN-13 numbers fail barcode scanners.
ISBN-13 conversion weights the prefix digit by three · case 02
Converted ISBN-13 numbers fail barcode scanners.
ISBN-13 conversion weights the prefix digit by three · case 03
Converted ISBN-13 numbers fail barcode scanners.
ISBN-13 conversion weights the prefix digit by three · case 04
Converted ISBN-13 numbers fail barcode scanners.
ISBN-13 conversion weights the prefix digit by three · case 05
Converted ISBN-13 numbers fail barcode scanners.
ISBN-13 conversion accepts an invalid ISBN-10 · case 01
Mistyped ISBN-10 values are converted into valid-looking ISBN-13 numbers.
ISBN-13 conversion accepts an invalid ISBN-10 · case 02
Mistyped ISBN-10 values are converted into valid-looking ISBN-13 numbers.
ISBN-13 conversion accepts an invalid ISBN-10 · case 03
Mistyped ISBN-10 values are converted into valid-looking ISBN-13 numbers.
ISBN-13 conversion accepts an invalid ISBN-10 · case 04
Mistyped ISBN-10 values are converted into valid-looking ISBN-13 numbers.
ISBN-13 conversion accepts an invalid ISBN-10 · case 05
Mistyped ISBN-10 values are converted into valid-looking ISBN-13 numbers.
GTIN weights are aligned from the left · case 01
GTIN-13 numbers fail while GTIN-8, -12 and -14 still validate.
GTIN weights are aligned from the left · case 02
GTIN-13 numbers fail while GTIN-8, -12 and -14 still validate.
GTIN weights are aligned from the left · case 03
GTIN-13 numbers fail while GTIN-8, -12 and -14 still validate.
GTIN weights are aligned from the left · case 04
GTIN-13 numbers fail while GTIN-8, -12 and -14 still validate.
GTIN weights are aligned from the left · case 05
GTIN-13 numbers fail while GTIN-8, -12 and -14 still validate.
GTIN validator rejects GTIN-8 and GTIN-14 · case 01
Short-format and case-level codes are reported malformed.
GTIN validator rejects GTIN-8 and GTIN-14 · case 02
Short-format and case-level codes are reported malformed.
GTIN validator rejects GTIN-8 and GTIN-14 · case 03
Short-format and case-level codes are reported malformed.
GTIN validator rejects GTIN-8 and GTIN-14 · case 04
Short-format and case-level codes are reported malformed.
GTIN validator rejects GTIN-8 and GTIN-14 · case 05
Short-format and case-level codes are reported malformed.
GTIN check digit uses the raw remainder · case 01
Nearly every valid code is rejected.
GTIN check digit uses the raw remainder · case 02
Nearly every valid code is rejected.
GTIN check digit uses the raw remainder · case 03
Nearly every valid code is rejected.
GTIN check digit uses the raw remainder · case 04
Nearly every valid code is rejected.
GTIN check digit uses the raw remainder · case 05
Nearly every valid code is rejected.
GTIN sum includes the check digit · case 01
Codes are validated against a sum that already contains the digit being checked.
GTIN sum includes the check digit · case 02
Codes are validated against a sum that already contains the digit being checked.
GTIN sum includes the check digit · case 03
Codes are validated against a sum that already contains the digit being checked.
GTIN sum includes the check digit · case 04
Codes are validated against a sum that already contains the digit being checked.
GTIN sum includes the check digit · case 05
Codes are validated against a sum that already contains the digit being checked.
IBAN rearrangement swaps country code and check digits · case 01
Every correct IBAN is reported invalid.
IBAN rearrangement swaps country code and check digits · case 02
Every correct IBAN is reported invalid.
IBAN rearrangement swaps country code and check digits · case 03
Every correct IBAN is reported invalid.
IBAN rearrangement swaps country code and check digits · case 04
Every correct IBAN is reported invalid.
IBAN rearrangement swaps country code and check digits · case 05
Every correct IBAN is reported invalid.
IBAN letters convert from one instead of ten · case 01
IBANs containing bank-code letters are rejected.
IBAN letters convert from one instead of ten · case 02
IBANs containing bank-code letters are rejected.
IBAN letters convert from one instead of ten · case 03
IBANs containing bank-code letters are rejected.
IBAN letters convert from one instead of ten · case 04
IBANs containing bank-code letters are rejected.
IBAN letters convert from one instead of ten · case 05
IBANs containing bank-code letters are rejected.
IBAN accepts unknown countries of any length · case 01
Identifiers from unsupported countries and truncated IBANs get a mod-97 verdict.
IBAN accepts unknown countries of any length · case 02
Identifiers from unsupported countries and truncated IBANs get a mod-97 verdict.
IBAN accepts unknown countries of any length · case 03
Identifiers from unsupported countries and truncated IBANs get a mod-97 verdict.
IBAN accepts unknown countries of any length · case 04
Identifiers from unsupported countries and truncated IBANs get a mod-97 verdict.
IBAN accepts unknown countries of any length · case 05
Identifiers from unsupported countries and truncated IBANs get a mod-97 verdict.
IBAN print format keeps interior spaces · case 01
IBANs copied in groups of four are reported malformed.
IBAN print format keeps interior spaces · case 02
IBANs copied in groups of four are reported malformed.
IBAN print format keeps interior spaces · case 03
IBANs copied in groups of four are reported malformed.
IBAN print format keeps interior spaces · case 04
IBANs copied in groups of four are reported malformed.
IBAN print format keeps interior spaces · case 05
IBANs copied in groups of four are reported malformed.
IBAN validity expects remainder zero · case 01
Every valid IBAN fails and certain wrong ones pass.
IBAN validity expects remainder zero · case 02
Every valid IBAN fails and certain wrong ones pass.
IBAN validity expects remainder zero · case 03
Every valid IBAN fails and certain wrong ones pass.
IBAN validity expects remainder zero · case 04
Every valid IBAN fails and certain wrong ones pass.
IBAN validity expects remainder zero · case 05
Every valid IBAN fails and certain wrong ones pass.
IBAN accepts check digits 00 and 01 · case 01
An IBAN whose check digits are the out-of-range aliases 00 or 01 is accepted.
IBAN accepts check digits 00 and 01 · case 02
An IBAN whose check digits are the out-of-range aliases 00 or 01 is accepted.
IBAN accepts check digits 00 and 01 · case 03
An IBAN whose check digits are the out-of-range aliases 00 or 01 is accepted.
IBAN accepts check digits 00 and 01 · case 04
An IBAN whose check digits are the out-of-range aliases 00 or 01 is accepted.
IBAN accepts check digits 00 and 01 · case 05
An IBAN whose check digits are the out-of-range aliases 00 or 01 is accepted.
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 ↗