Lógica de programación con Dafny

Loading...
Thumbnail Image
Date
2021
Authors
Hernández Lorenzo, Matías Sebastián
Publisher
Universidad ORT Uruguay
DOI
ISSN
ISBN
URI
Abstract
Dafny es un lenguaje diseñado por K. Rustan M. Leino en “Microsoft Research” que soporta la especificación formal de código a través del uso de invariantes, precondiciones, postcondiciones y lemas (propiedades). Se realizó una búsqueda de aplicaciones de Dafny a nivel educativo y se encontró que el “Imperial College London” introduce a sus alumnos el concepto de verificación completa de especificaciones de programas utilizando Dafny, lo cual motivó a realizar esta investigación para evaluar la aplicabilidad del lenguaje Dafny para entornos académicos. Para poder realizar la evaluación, se estarán abordando implementaciones de diferentes algoritmos conocidos de ordenamiento y búsqueda, junto a lemas que verifican sus propiedades. Las demostraciones se realizarán utilizando inducción y “calculations” los cuales permiten realizar demostraciones muy intuitivas. Como metodología de desarrollo, se estará aplicando la metodología vista en “Fundamentos de la computación" para los algoritmos funcionales e invariantes al estilo Dijkstra para los algoritmos iterativos. Para finalizar, se analizará también a Dafny como herramienta productiva, reescribiendo los lemas del módulo educativo a su mínima expresión para evaluar el potencial del compilador de Dafny y por ende su aplicabilidad en entornos productivos. Se concluirá que Dafny tiene mucho potencial principalmente como herramienta educativa, pero además cierto nicho de mercado también podría beneficiarse del potencial del compilador en un entorno productivo.
En
Thesis note
Trabajo Integrador (Carrera Universitaria). Universidad ORT Uruguay, Facultad de Ingeniería
Thesis degree name
Licenciado en Ingeniería de Software
64 p.
Notes
Incluye bibliografía.
Subject
PROYECTOS-ID, ESTRUCTURAS DE DATOS, VERIFICACIÓN AUTOMÁTICA
Type
Trabajo final de carrera
Access the full text
Citation
Hernández Lorenzo, M. S. (2021). Lógica de programación con Dafny (Trabajo Integrador). Universidad ORT Uruguay, Facultad de Ingeniería.
Rights license