Creio que foi Bertrand Meyer, o autor da linguagem Eiffel, quem primeiro falou sobre Design by Contract : um estilo de projetar e implementar código onde contratos formais (interfaces) precisos e verificáveis definem o comportamento de um método, função,