Contenido de XSL
Métodos Formales de Desarrollo de Software
- Centro
- Facultad de Informática
- Titulación
- Grado en Ingeniería Informática
- Curso académico
- 2024/25
- Curso
- 4
- Nº Créditos
- 6
- Idiomas
- Castellano
DocenciaAlternar navegación
Tipo de docencia | Horas de docencia presencial | Horas de actividad no presencial del alumno/a |
---|---|---|
Magistral | 40 | 60 |
P. Laboratorio | 20 | 30 |
Guía docenteAlternar navegación
ObjetivosAlternar navegación
Los objetivos concretos de esta asignatura son:
- Entender la importancia de que la programación sea una actividad más científica que artesanal.
- Conocer la historia y motivación de los métodos formales de desarrollo de software.
- Conocer el estado del arte del área del desarrollo formal de software.
- Conocer lenguajes, métodos y herramientas concretos de desarrollo formal de software.
- Capacidad para manejar lenguajes y herramientas concretas de desarrollo formal de software.
TemarioAlternar navegación
Tema 1.- Introducción
Tema 2.- Inducción matemática
Tema 3.- Introducción al lenguaje y verificador Dafny
Tema 4.- Tipos de valores
Tema 5.- Inducción Estructural y Datatypes
Tema 6.- Arrays y Framing
Tema 7.- Módulos y Orientación a Objetos
MetodologíaAlternar navegación
En esta asignatura se utilizan diversas metodologías de enseñanza. Se impartirán tanto clases de exposición de los contenidos conceptuales de la materia, como laboratorios de resolución de problemas prácticos utilizando la herramienta Dafny, de forma interactiva, en la que los/las estudiantes utilizan la herramienta a la vez que la profesora. Se proporcionarán problemas y ejercicios que los/las estudiantes deberán desarrollar individualmente y que mediran el nivel de aprendizaje a lo largo del cuatrimestre.
Sistemas de evaluaciónAlternar navegación
Para superar la asignatura en evaluación continua los/las estudiantes deberán realizar en el laboratorio tres trabajos prácticos individuales que prueben su conocimiento de las herramientas y técnicas abordadas en clase. El porcentaje de la nota de cada trabajo práctico es del 30% para el primero, 40% para el segundo, y 30% para el tercero.
Materiales de uso obligatorioAlternar navegación
- Transparencias de clase.
- El tutorial on-line y la documentación de la página Web:
https://dafny.org/
BibliografíaAlternar navegación
Bibliografía básica
- Documentación de la página Web:
https://dafny.org/
- K. Rustan M. Leino. Program Proofs. MIT Press, March 2023. ISBN 9780262546232
Bibliografía de profundización
- Jim Woodcock, Peter Gorm Larsen, Juan Bicarregui, and John Fitzgerald.
Formal methods: Practice and Experience.
ACM Computing Surveys, 41(4):19:1–19:36, October 2009.
- Jason Koenig and K. Rustan M. Leino. Getting started with Dafny: a guide. In Marktoberdorf 2011 lecture notes. (http://research.microsoft.com/en-us/um/people/leino/papers/krml220.pdf)
- K. Rustan M. Leino. Dafny: An Automatic Program Verifier for Functional Correctness. In LPAR-16, volume 6355 of LNCS, pages 348-370. Springer, 2010. (http://research.microsoft.com/en-us/um/people/leino/papers/krml203.pdf)
- Edsger W. Dijkstra. A Discipline of Programming. Prentice-Hall, Incorporated, 1976, ISBN 0-613-92411-8
Revistas
- ACM Transactions on Computational Logic
- ACM Transactions on Software Engineering and Methodology
- Applicable Algebra in Engineering, Communication and Computing.
- Formal Aspects of Computing
- Formal Methods in System Design
- Journal of Automated Reasoning
- Software Testing Verification & Reliability
GruposAlternar navegación
16 Teórico (Castellano - Tarde)Mostrar/ocultar subpáginas
Semanas | Lunes | Martes | Miércoles | Jueves | Viernes |
---|---|---|---|---|---|
16-30 | 14:00-15:30 | 15:30-17:00 |
Profesorado
16 P. Laboratorio-1 (Castellano - Tarde)Mostrar/ocultar subpáginas
Semanas | Lunes | Martes | Miércoles | Jueves | Viernes |
---|---|---|---|---|---|
16-30 | 17:00-18:30 |