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
ICMA regular-period accrued with ex-coupon: ex-coupon trades report positive accrued interest · case 01
Buyers in the ex-coupon window are charged interest they will never receive.
ICMA regular-period accrued with ex-coupon: ex-coupon trades report positive accrued interest · case 02
Buyers in the ex-coupon window are charged interest they will never receive.
ICMA regular-period accrued with ex-coupon: ex-coupon trades report positive accrued interest · case 03
Buyers in the ex-coupon window are charged interest they will never receive.
ICMA regular-period accrued with ex-coupon: ex-coupon trades report positive accrued interest · case 04
Buyers in the ex-coupon window are charged interest they will never receive.
ICMA regular-period accrued with ex-coupon: ex-coupon trades report positive accrued interest · case 05
Buyers in the ex-coupon window are charged interest they will never receive.
ICMA regular-period accrued with ex-coupon: the per-day coupon is rounded before multiplying by days · case 01
Accrued interest differs in the last decimals for long accrual periods.
ICMA regular-period accrued with ex-coupon: the per-day coupon is rounded before multiplying by days · case 02
Accrued interest differs in the last decimals for long accrual periods.
ICMA regular-period accrued with ex-coupon: the per-day coupon is rounded before multiplying by days · case 03
Accrued interest differs in the last decimals for long accrual periods.
ICMA regular-period accrued with ex-coupon: the per-day coupon is rounded before multiplying by days · case 04
Accrued interest differs in the last decimals for long accrual periods.
ICMA regular-period accrued with ex-coupon: the per-day coupon is rounded before multiplying by days · case 05
Accrued interest differs in the last decimals for long accrual periods.
Act/Act ISDA year fraction: every calendar piece uses the start year basis · case 01
Spans crossing from a non-leap year into a leap year divide leap-year days by 365.
Act/Act ISDA year fraction: every calendar piece uses the start year basis · case 02
Spans crossing from a non-leap year into a leap year divide leap-year days by 365.
Act/Act ISDA year fraction: every calendar piece uses the start year basis · case 03
Spans crossing from a non-leap year into a leap year divide leap-year days by 365.
Act/Act ISDA year fraction: every calendar piece uses the start year basis · case 04
Spans crossing from a non-leap year into a leap year divide leap-year days by 365.
Act/Act ISDA year fraction: every calendar piece uses the start year basis · case 05
Spans crossing from a non-leap year into a leap year divide leap-year days by 365.
Act/Act ISDA year fraction: century years are all treated as leap years · case 01
Pieces in 1900 or 2100 are divided by 366.
Act/Act ISDA year fraction: century years are all treated as leap years · case 02
Pieces in 1900 or 2100 are divided by 366.
Act/Act ISDA year fraction: century years are all treated as leap years · case 03
Pieces in 1900 or 2100 are divided by 366.
Act/Act ISDA year fraction: century years are all treated as leap years · case 04
Pieces in 1900 or 2100 are divided by 366.
Act/Act ISDA year fraction: century years are all treated as leap years · case 05
Pieces in 1900 or 2100 are divided by 366.
Act/Act ISDA year fraction: only the first year is split out and the remainder uses the end year basis · case 01
Multi-year spans ignore the leap status of middle years.
Act/Act ISDA year fraction: only the first year is split out and the remainder uses the end year basis · case 02
Multi-year spans ignore the leap status of middle years.
Act/Act ISDA year fraction: only the first year is split out and the remainder uses the end year basis · case 03
Multi-year spans ignore the leap status of middle years.
Act/Act ISDA year fraction: only the first year is split out and the remainder uses the end year basis · case 04
Multi-year spans ignore the leap status of middle years.
Act/Act ISDA year fraction: only the first year is split out and the remainder uses the end year basis · case 05
Multi-year spans ignore the leap status of middle years.
Act/Act ISDA year fraction: days are divided by an average 365.25-day year · case 01
Year fractions are close but not equal to the ISDA value for nearly every span.
Act/Act ISDA year fraction: days are divided by an average 365.25-day year · case 02
Year fractions are close but not equal to the ISDA value for nearly every span.
Act/Act ISDA year fraction: days are divided by an average 365.25-day year · case 03
Year fractions are close but not equal to the ISDA value for nearly every span.
Act/Act ISDA year fraction: days are divided by an average 365.25-day year · case 04
Year fractions are close but not equal to the ISDA value for nearly every span.
Act/Act ISDA year fraction: days are divided by an average 365.25-day year · case 05
Year fractions are close but not equal to the ISDA value for nearly every span.
Act/Act ISDA year fraction: a reversed interval is silently swapped · case 01
Callers passing dates in the wrong order get a positive fraction instead of an error value.
Act/Act ISDA year fraction: a reversed interval is silently swapped · case 02
Callers passing dates in the wrong order get a positive fraction instead of an error value.
Act/Act ISDA year fraction: a reversed interval is silently swapped · case 03
Callers passing dates in the wrong order get a positive fraction instead of an error value.
Act/Act ISDA year fraction: a reversed interval is silently swapped · case 04
Callers passing dates in the wrong order get a positive fraction instead of an error value.
Act/Act ISDA year fraction: a reversed interval is silently swapped · case 05
Callers passing dates in the wrong order get a positive fraction instead of an error value.
Act/365L denominator selection: a period starting on 29 February uses a 366-day year · case 01
Annual periods beginning on a leap day and periods ending on one are classified the wrong way round.
Act/365L denominator selection: a period starting on 29 February uses a 366-day year · case 02
Annual periods beginning on a leap day and periods ending on one are classified the wrong way round.
Act/365L denominator selection: a period starting on 29 February uses a 366-day year · case 03
Annual periods beginning on a leap day and periods ending on one are classified the wrong way round.
Act/365L denominator selection: a period starting on 29 February uses a 366-day year · case 04
Annual periods beginning on a leap day and periods ending on one are classified the wrong way round.
Act/365L denominator selection: a period starting on 29 February uses a 366-day year · case 05
Annual periods beginning on a leap day and periods ending on one are classified the wrong way round.
Act/365L denominator selection: sub-annual periods look at the start year · case 01
Quarterly periods that begin in December before a leap year use 365 days.
Act/365L denominator selection: sub-annual periods look at the start year · case 02
Quarterly periods that begin in December before a leap year use 365 days.
Act/365L denominator selection: sub-annual periods look at the start year · case 03
Quarterly periods that begin in December before a leap year use 365 days.
Act/365L denominator selection: sub-annual periods look at the start year · case 04
Quarterly periods that begin in December before a leap year use 365 days.
Act/365L denominator selection: sub-annual periods look at the start year · case 05
Quarterly periods that begin in December before a leap year use 365 days.
Act/365L denominator selection: annual periods use the end year leap status · case 01
An annual period ending in March of a leap year from March of the prior year is priced on 365 days.
Act/365L denominator selection: annual periods use the end year leap status · case 02
An annual period ending in March of a leap year from March of the prior year is priced on 365 days.
Act/365L denominator selection: annual periods use the end year leap status · case 03
An annual period ending in March of a leap year from March of the prior year is priced on 365 days.
Act/365L denominator selection: annual periods use the end year leap status · case 04
An annual period ending in March of a leap year from March of the prior year is priced on 365 days.
Act/365L denominator selection: annual periods use the end year leap status · case 05
An annual period ending in March of a leap year from March of the prior year is priced on 365 days.
Act/365L denominator selection: the end year is excluded from the leap-day search · case 01
An annual period ending after 29 February of a leap end year uses 365 days.
Act/365L denominator selection: the end year is excluded from the leap-day search · case 02
An annual period ending after 29 February of a leap end year uses 365 days.
Act/365L denominator selection: the end year is excluded from the leap-day search · case 03
An annual period ending after 29 February of a leap end year uses 365 days.
Act/365L denominator selection: the end year is excluded from the leap-day search · case 04
An annual period ending after 29 February of a leap end year uses 365 days.
Act/365L denominator selection: the end year is excluded from the leap-day search · case 05
An annual period ending after 29 February of a leap end year uses 365 days.
Backward coupon schedule generation: each date is clamped from the previous date instead of the maturity day · case 01
After passing a short month every earlier coupon date is stuck on the shorter day number.
Backward coupon schedule generation: each date is clamped from the previous date instead of the maturity day · case 02
After passing a short month every earlier coupon date is stuck on the shorter day number.
Backward coupon schedule generation: each date is clamped from the previous date instead of the maturity day · case 03
After passing a short month every earlier coupon date is stuck on the shorter day number.
Backward coupon schedule generation: each date is clamped from the previous date instead of the maturity day · case 04
After passing a short month every earlier coupon date is stuck on the shorter day number.
Backward coupon schedule generation: each date is clamped from the previous date instead of the maturity day · case 05
After passing a short month every earlier coupon date is stuck on the shorter day number.
Backward coupon schedule generation: the end-of-month flag is not consulted · case 01
Month-end maturities with the flag set produce coupons on the 28th or 30th instead of month end.
Backward coupon schedule generation: the end-of-month flag is not consulted · case 02
Month-end maturities with the flag set produce coupons on the 28th or 30th instead of month end.
Backward coupon schedule generation: the end-of-month flag is not consulted · case 03
Month-end maturities with the flag set produce coupons on the 28th or 30th instead of month end.
Backward coupon schedule generation: the end-of-month flag is not consulted · case 04
Month-end maturities with the flag set produce coupons on the 28th or 30th instead of month end.
Backward coupon schedule generation: the end-of-month flag is not consulted · case 05
Month-end maturities with the flag set produce coupons on the 28th or 30th instead of month end.
Backward coupon schedule generation: the only remaining coupon can be removed as a stub · case 01
A bond issued less than 15 days before maturity reports an empty coupon schedule.
Backward coupon schedule generation: the only remaining coupon can be removed as a stub · case 02
A bond issued less than 15 days before maturity reports an empty coupon schedule.
Backward coupon schedule generation: the only remaining coupon can be removed as a stub · case 03
A bond issued less than 15 days before maturity reports an empty coupon schedule.
Backward coupon schedule generation: the only remaining coupon can be removed as a stub · case 04
A bond issued less than 15 days before maturity reports an empty coupon schedule.
Backward coupon schedule generation: the only remaining coupon can be removed as a stub · case 05
A bond issued less than 15 days before maturity reports an empty coupon schedule.
Backward coupon schedule generation: maturity on day 30 or later counts as month end · case 01
A 30 May maturity rolls to month ends while a 28 February maturity does not.
Backward coupon schedule generation: maturity on day 30 or later counts as month end · case 02
A 30 May maturity rolls to month ends while a 28 February maturity does not.
Backward coupon schedule generation: maturity on day 30 or later counts as month end · case 03
A 30 May maturity rolls to month ends while a 28 February maturity does not.
Backward coupon schedule generation: maturity on day 30 or later counts as month end · case 04
A 30 May maturity rolls to month ends while a 28 February maturity does not.
Backward coupon schedule generation: maturity on day 30 or later counts as month end · case 05
A 30 May maturity rolls to month ends while a 28 February maturity does not.
Backward coupon schedule generation: the stub test measures the first regular period instead of the stub · case 01
Short front stubs survive while normal first coupons can be discarded.
Backward coupon schedule generation: the stub test measures the first regular period instead of the stub · case 02
Short front stubs survive while normal first coupons can be discarded.
Backward coupon schedule generation: the stub test measures the first regular period instead of the stub · case 03
Short front stubs survive while normal first coupons can be discarded.
Backward coupon schedule generation: the stub test measures the first regular period instead of the stub · case 04
Short front stubs survive while normal first coupons can be discarded.
Backward coupon schedule generation: the stub test measures the first regular period instead of the stub · case 05
Short front stubs survive while normal first coupons can be discarded.
Business day adjustment conventions: Saturdays are treated as business days · case 01
Payments scheduled on a Saturday are made on the Saturday.
Business day adjustment conventions: Saturdays are treated as business days · case 02
Payments scheduled on a Saturday are made on the Saturday.
Business day adjustment conventions: Saturdays are treated as business days · case 03
Payments scheduled on a Saturday are made on the Saturday.
Business day adjustment conventions: Saturdays are treated as business days · case 04
Payments scheduled on a Saturday are made on the Saturday.
Business day adjustment conventions: Saturdays are treated as business days · case 05
Payments scheduled on a Saturday are made on the Saturday.
Business day adjustment conventions: the month-crossing fallback steps back from the rolled date · case 01
Modified following behaves like plain following at month end.
Business day adjustment conventions: the month-crossing fallback steps back from the rolled date · case 02
Modified following behaves like plain following at month end.
Business day adjustment conventions: the month-crossing fallback steps back from the rolled date · case 03
Modified following behaves like plain following at month end.
Business day adjustment conventions: the month-crossing fallback steps back from the rolled date · case 04
Modified following behaves like plain following at month end.
Business day adjustment conventions: the month-crossing fallback steps back from the rolled date · case 05
Modified following behaves like plain following at month end.
Business day adjustment conventions: month change is detected with a greater-than comparison · case 01
A December date rolling into January is not recognized as leaving the month.
Business day adjustment conventions: month change is detected with a greater-than comparison · case 02
A December date rolling into January is not recognized as leaving the month.
Business day adjustment conventions: month change is detected with a greater-than comparison · case 03
A December date rolling into January is not recognized as leaving the month.
Business day adjustment conventions: month change is detected with a greater-than comparison · case 04
A December date rolling into January is not recognized as leaving the month.
Business day adjustment conventions: month change is detected with a greater-than comparison · case 05
A December date rolling into January is not recognized as leaving the month.
Business day adjustment conventions: modified preceding never checks the month · case 01
Dates at the start of a month roll back into the previous month.
Business day adjustment conventions: modified preceding never checks the month · case 02
Dates at the start of a month roll back into the previous month.
Business day adjustment conventions: modified preceding never checks the month · case 03
Dates at the start of a month roll back into the previous month.
Business day adjustment conventions: modified preceding never checks the month · case 04
Dates at the start of a month roll back into the previous month.
Business day adjustment conventions: modified preceding never checks the month · case 05
Dates at the start of a month roll back into the previous month.
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 ↗