~/talk

Contractual Disappointment in C++

Talkat ACCU 2022 · 2022-04-06..04-09· [c-and-cpp, software-architecture]
links:none on file
slides:none on file

Lays out four concrete contract kinds (C++ API, standard, end‑user, and a test-user contract), shows a PID controller assert and a real bug where a sentinel UID of -1 causes a 4 billion-bit allocation, and argues to run ASAN/UBSAN, static analyzers, fuzzing and coverage before turning on optimizations. Demonstrates a cmake “test” build with extra flags, uses death tests to verify abort behavior, and pushes a fail-fast posture summed as “don’t optimize until you sanitize.”

AI-written summary · about

  1. 0:00Start
  2. 4:25Types • C++ API Contracts
  3. 7:47The exchange of promises between the user and developer of a software product.
  4. 11:09Errors are things that can go wrong - even in perfect programs.
  5. 12:55Recap client violations of the End User Contract should be handled by the program
  6. 13:58$1,000,000 Question How does your program handle errors?
  7. 30:55Example of Client C++ API Contract Violation #1 PID Controller
  8. 45:50The exchange of promises between C++ developers and C++ implementers.
  9. 59:55Test User Contract
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.