契約プログラミング
契約プログラミング（けいやくプログラミング、）または契約による設計（けいやくによるせっけい、）は、ソフトウェアの正確性と頑健性を高めるためのソフトウェア設計の方法論である。DbC はロバート・フロイド、アントニー・ホーア、エドガー・ダイクストラらの形式的検証の仕事を基礎にしている。DbC は（抽象データ型に基づく）オブジェクト指向プログラミングにおける表明の利用や、継承に伴う表明の再定義の原理的規則、例外処理の原理的規則などを提供する。
DbC は、バートランド・メイヤーによって提案された。