Profesor | Favio Ezequiel Miranda Perea | lu mi vi | 12 a 13 | 300 (Nuevo Edificio) |
Ayudante | Susana Hahn Martín Lunas | ma ju | 12 a 13 | 300 (Nuevo Edificio) |
Ayud. Lab. | Fernando Abigail Galicia Mendoza | ma | 14 a 16 | Laboratorio de Ciencias de la Computación 2 |
En los últimos años el software se ha vuelto más complejo y se ha integrado ampliamente a la vida cotidiana, de manera que cada vez es más crucial asegurar su funcionamiento correcto. Los errores en un programa pueden ser desastrosos causando desde perdidas financieras enormes hasta la muerte de seres humanos, por lo que los métodos para evitar estos escenarios son indispensables. Un proceso de pruebas preliminares puede identificar problemas, si se realiza de manera rigurosa, pero por lo general no es suficiente para garantizar un nivel satisfactorio de certeza y calidad.
Por otra parte la teoria de especificacion y verificacion formal ofrece metodologias que van desde la descripcion formal de requerimientos, lo cual permite razonar rigurosamente sobre ellos, hasta sofisticadas tecnicas automatizadas para la verificacion de software. El objetivo de este curso es proporcionar una introduccion a la verificacion formal con el asistente de pruebas Coq mediante el estudio de casos en semantica de lenguajes de programacion y estructuras de datos funcionales.