YoVDO

Enforce Inform Ignore Assume - Gradual Adoption of Contracts in Production Code

Offered By: ACCU Conference via YouTube

Tags

ACCU Conference Courses Software Development Courses C++ Courses Software Testing Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore a comprehensive conference talk on gradually adopting contract checking in production code. Learn about the four fundamental semantics of contract checks and how to implement them in live systems. Discover the proposed C++23 language support for contracts and practical alternatives using existing libraries. Gain insights into preconditions, postconditions, invariants, and error reporting techniques. Understand the differences between wide and narrow contracts, and how to effectively use contracts in test drivers and unit tests. Examine key issues such as expensive checks and customization options. Follow a step-by-step workflow for implementing contracts, from ignored comments to assumed optimizations, to improve code quality and catch errors early in the development process.

Syllabus

Introduction
Agenda
What is a contract
Examples of contracts
Undefined behavior
Contract no language
Contract no Java
Preconditions
Postconditions
Invariants
Error Reporting
Guarantees
Changing Promises
Finding a Contract
Contract Terminology
Wide vs Narrow Contracts
Survey Results
Example
Post Conditions
Operating Throws
Simple Function
Bug in Implementation
Changing the Contract
Is Another Wide Contract Better
Plug
Contract Tech
Test Drivers vs Unit Tests
C vs C Standard
Key Issues
Expensive Checks
Customization
Contract
The Workflow
Simple First Step


Taught by

ACCU Conference

Related Courses

Software as a Service
University of California, Berkeley via Coursera
Software Testing
University of Utah via Udacity
The Hardware/Software Interface
University of Washington via Coursera
Software Debugging
Saarland University via Udacity
Introduction to Systematic Program Design - Part 1
The University of British Columbia via Coursera