Herbert's ContractLib. Python, using packages like deal, icontract, PyContracts, dpcontracts, or zope.interface. A permanent change to Python to support design by contracts was proposed in PEP-316 in 2003, but is deferred. Ruby, via Brian McCallister's DesignByContract, Ruby DBC ruby-contract or contracts.ruby. Rust via the contracts crate. Swift via the cocoapod by Jim Boyd. Tcl, via the XOTcl object-oriented extension. See also Component-based software engineering Correctness (computer science) Defensive programming Fail-fast Formal methods Hoare logic Modular programming Program derivation Program refinement Strong typing Test-driven development Typestate analysis Notes Bibliography Mitchell, Richard, and McKim, Jim: Design by Contract: by example, Addison-Wesley, 2002 A wikibook describing DBC closely to the original model. McNeile, Ashley: A framework for the semantics of behavioral contracts. Proceedings of the Second International Workshop on Behaviour Modelling: Foundation and Applications (BM-FA '10). ACM, New York, NY, USA, 2010. This paper discusses generalized notions of Contract and Substitutability'. External links The Power of Design by Contract(TM) A top-level description of DbC, with links to additional resources. Building bug-free O-O software: An introduction to Design by Contract(TM) Older material on DbC. Benefits and drawbacks; implementation in RPS-Obix Bertrand Meyer, Applying "Design by Contract", IEEE Computer, October 1992. Using Code Contracts for Safer Code Software design Programming paradigms