La verificación de programas se refiere a la validación de su funcionamiento mediante la definición de precondiciones y poscondiciones. La complejidad de un programa puede variar dependiendo de las decisiones tomadas durante su desarrollo, y se clasifica en diferentes clases como P, NP y NP completo.