Estas ideas fueron perfeccionadas por Hoare dando lugar al mtodo axiomtico
(precondiciones E/S) donde introdujo la idea de "invariante".
En 1976, Edsger Dijkstra, present un mtodo formal llamado precondicin ms
dbil, basado en la transformacin de predicados wp (weakest precondition). De esta
manera rompa con las ideas de verificacin a posteriori de Floyd y Dijkstra. La idea
principal era invertir los mtodos de ambos de tal manera que se pudiera derivar la
precondicin a partir de la pos condicin.
Precondicin ms dbil
Bsicamente, consiste en dada una pos condicin POST, encontrar, operando hacia
atrs, un programa S tal que wp (S, POST) (la precondicin) se satisfaga en un amplio
conjunto de situaciones
Dada una proposicin (P) S (Q) donde S es un conjunto de sentencias de un mdulo
de un programa, y donde P y Q son los predicados que se cumplen antes y despus de
S respectivamente, se dice que P es la precondicin ms dbil (wp) de S, si es la
condicin mnima que garantiza que Q es cierto tras la ejecucin de S.
Induccin estructural
La induccin estructural es una tcnica de verificacin formal que se basa en el
principio de induccin matemtica.
Dado un conjunto S con una serie de propiedades y una proposicin P que se desea
probar, la induccin matemtica:
1. Demuestra que P es cierto para el mnimo nmero de elementos (o casos
triviales) de S.
2. Asume que P es cierto para un nmero de elementos (o casos posibles) de S
menores o iguales a N.
3. Demuestra que entonces P es cierto para el elemento N+1 de S.
Ventajas
Se comprende mejor el sistema.
La comunicacin con el cliente mejora ya que se dispone de una descripcin
clara y no ambigua de los requisitos del usuario.
El sistema se describe de manera ms precisa.
El sistema se asegura matemticamente que es correcto segn las
especificaciones.
Mayor calidad en el software respecto al cumplimiento de las especificaciones.
Mayor productividad.
Desventajas
El desarrollo de herramientas que apoyen la aplicacin de mtodos formales es
complicado y los programas resultantes son incmodos para los usuarios.
Los investigadores por lo general no conocen la realidad industrial.
Es escasa la colaboracin entre la industria y el mundo acadmico, que en
ocasiones se muestra demasiado dogmtico.
Se considera que la aplicacin de mtodos formales encarece los productos y
ralentiza su desarrollo.