Anda di halaman 1dari 3

Resumen

En 1967, Robert Floyd propuso utilizar lo que se denomin mtodo de aserciones


intermedias como una manera de estudiar las propiedades de los programas. Destac
la posibilidad de definir la semntica de las operaciones mediante reglas lgicas
afirmando que estas aserciones son vlidas despus de ejecutarse las operaciones
basndose en la informacin de las aserciones que son vlidas antes de ejecutarse
dichas operaciones.

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.

En ingeniera de software un mtodo formal es un camino a la construccin y anlisis


de modelos matemticos que permitan una automatizacin del desarrollo de sistemas
informticos. Los mtodos formales se caracterizan por emplear tcnicas y
herramientas matemticas para lograr una facilitacin a la hora de encarar la
construccin o el anlisis de un modelo matemtico de un sistema.

Entre los mtodos de verificacin ms utilizados, se encuentran:


1. Aserciones E/S
2. Precondicin ms dbil
3. Induccin estructural
Aserciones E/S
Basado en la lgica de Hoare. El programa, en lgica de Hoare, se especfica mediante
aserciones que relacionan las entradas y salidas del programa. Se garantiza que si la
entrada actual satisface las restricciones de entrada (precondiciones) la salida satisface
las restricciones de salida (pos condiciones).
Se utiliza una expresin del tipo P{programa}Q, siendo P y Q aserciones de la lgica,
para indicar que si P es cierto antes de la ejecucin del programa y dicho programa
termina, entonces Q es cierto tras la ejecucin de dicho programa. Este mtodo
permite tanto la correccin parcial como total de los programas.
Un caso especial son los bucles, donde los predicados deben mostrar una relacin
invariante, es decir, deben ser ciertos independientemente del nmero de vueltas del
bucle, por lo tanto, el predicado debe cumplir lo siguiente:
1. Es cierto a la entrada del bucle
2. Es cierto en cualquier paso del bucle
3. Junto con la negacin de la condicin del bucle, implica que el predicado se
cumple a la salida del bucle.

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.

Anda mungkin juga menyukai