Overview
Syllabus
Introduction
Definitions
Contracts in software
Disclaimer
Elements of Function Contracts
Reasons for preconditions
Feasibility
Efficiency
Reliability
Maintainability
Extensibility
Order of Operations
Minimal Contract
Narrow Contract
Wide Contract Facilities
When a Contract is Violated
What can we do
Lets remind ourselves
assert
undefined behavior
contract checking
contract checking for control flow
contract checking vs input validation
contract checking vs unit testing
summary
documentation
style
example
return
combine
essential behavior
unless benefits
consistent order
additional notes
why we chose a style
example function
juice framework example
document your conference
contract checking at scale
offtheshelf handlers
prevent continuation
violation Handler
invoke Handler
Relative Work
Classification
Audit level checks
Taught by
ACCU Conference