Speaker
Mr
Aaron Bingham
(Cenix BioScience GmbH)
Description
Design by Contract (DbC), as proposed by Bertrand Meyer, is an approach to software
development whereby the expectations (preconditions) and guarantees (postconditions
and class invariants) of methods are formally specified. These formally-specified
contracts can then be checked automatically at runtime.
First, Design by Contract as proposed by Meyer is defined, its strengths and
limitations are described, and the rationale behind the various aspects of the
definition are explained.
Second, several implementations of DbC for Python, each taking a different approach,
are introduced. The implementations are compared to one another and to Meyer's
proposal, with particular attention to their suitability for production use. (At
least one implementation will be demonstrated live.)
Third, attributes desired of a future production-quality DbC system for Python are
outlined, and possible evoltionary paths based on existing implementations are proposed.
Author
Mr
Aaron Bingham
(Cenix BioScience GmbH)