Diseño por contrato
Filosofía de programación: cada función tiene precondiciones, postcondiciones e invariantes formales.
Bertrand Meyer (el lenguaje Eiffel, 1986). Aserciones sobre «qué debe ser cierto antes de empezar» + «qué garantizamos al terminar». Empuja a pensar en contratos explícitos. Migró a los lenguajes modernos vía los sistemas de tipos y las pruebas basadas en propiedades.