Abstract
Continuando con nuestra serie de artículos intoductorios sobre la verificación axiomática de programas, en este segundo trabajo nos enfocamos en el paradigma secuencial no determinístico, siempre en el marco de los programas imperativos de entrada/salida. Como el no determinismo se manifiesta en la concurrencia, el artículo sirve también como introducción a la verificación de programas concurrentes, en los que más se justifica por su complejidad un tratamiento formal de las pruebas de correctitud. Trabajamos con un clásico lenguaje de programación, con selección condicional y repetición no determinísticas, al que luego se incorporan asignaciones aleatorias. Para las pruebas de los programas planteamos una adaptación del método axiomático de verificación descripto en la publicación previa, limitado a la programación secuencial determinística. Presentamos ejemplos de aplicación del método e incluimos un desarrollo sistemático de programa, volviendo a destacar el approach de utilizar los axiomas y reglas para programar al mismo tiempo que verificar, con el objeto de obtener programas correctos por construcción. Finalmente introducimos el concepto de fairness, cuyo efecto es reducir el grado de no determinismo de un programa en base a determinados criterios de equidad en el entorno de ejecución, y describimos un par de adaptaciones en las reglas de prueba para contemplar este aspecto.
Publisher
Universidad Abierta Interamericana
Reference15 articles.
1. Apt, K. & Olderog, E. Verification of secuencial and concurrent programs, second edition. Springer- Verlag, 1997.
2. Apt, K. Ten years of Hoare’s logic, a survey, part 2: nondeterminism. Theoretical Computer Science, 28, 83-109, 1984.
3. de Bakker, J. Mathematical theory of programm correctness. Prentice Hall International, Englewood Cliffs, N. J., 1980.
4. Dijkstra, E. Co-operating sequential processes. Programming Languages, F. Genuys, Ed., Academic Press, New York, 43-112, 1968.
5. Dijkstra, E. A discipline of programming. Prentice-Hall, 1976.
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Verificación de Programas Distribuidos;Revista Abierta de Informática Aplicada;2024-02-12
2. Verificación de Programas Paralelos;Revista Abierta de Informática Aplicada;2023-09-22