Contract use: Past, Present, and Future
summary
Bloomberg runs a macro-based contract facility for ~15 years, open-sourced in BDE, that implements three assertion tiers (assert/opt/safe) plus a DSLs review lifecycle (review → assert) and a configurable violation handler (log, abort, sleep, throw) with exponential backoff. Thousands of reviews roll out with zero system outages, tens of real bugs found (e.g. swapped cache bounds, string-destructor null-termination), and SG21 now reworks language-level contracts using papers like P1607/P1429 after contracts were removed from the standard.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:22Overview
- 1:55Contract definition
- 5:03Parts
- 7:13Contract use
- 15:05Declaring assert
- 15:59Debugging assert
- 19:30Violation handlers
- 26:05Opt
- 29:20Levels
- 34:13Changing assertion levels
- 37:26PSLS review
- 41:42PSLs assert and review
- 46:23Leveraging contracts for faster code
- 51:12Why SG21
- 54:37What SG21 will do
related talks
01h 17mFunction Contracts in Practice using C++
56mContracts for Dependable C++
01h 19mEnforce Inform Ignore Assume - Gradual Adoption of Contracts In Production Code
01h 02mContracts in C++26 - An Insider's Overview
01h 27mContractual Disappointment in C++
01h 32mContracts for C++
57mPerspectives on Contracts for C++
01h 05m“Contract Programming in C++(20) (part 2 of 2)”
