CodeContracts permite especificar contratos (precondiciones, postcondiciones e invariantes) en .NET para documentar y verificar el comportamiento de métodos y clases. Estos contratos se definen mediante atributos y pueden evaluarse en tiempo de ejecución o compilación para validar el código. Las interfaces también pueden definir contratos a través de clases de contrato. La herramienta admite análisis estático, pruebas unitarias y documentación de contratos.