Contractual Disappointment in C++

John McFarlane

in-person
90 minute session
beginner
intermediate
11:00-12:30, Thursday, 7th July 2022

Writing robust software in C++ is challenging. Effective use of modern tools and guidelines helps a great deal. And successive revisions of the language and the standard library add features which help the user prevent problems. But inevitably, upsets happen during program operation. This talk discusses what program developers can do to help.

Contracts and their implications are the main tool used to frame run-time failure. Through their lens I attempt to show that careful understanding of interfaces is the most effective way to ensure usability, efficiency and reliability.

contracts
numerics
safety
correctness
c++
ub
performance
tools
analysers
errors
bugs

John McFarlane

I write automotive software in Co Clare, Ireland and frequent WG21 committee meetings, mostly concentrating on numerics and safety-critical software development. I currently have a CS:CO problem.