Compilación Certificada sobre Máquinas Abstractas de evaluación normal

En esta tesis se analiza cómo demostrar la corrección de compiladores de lenguajes con evaluación normal, utilizando máquinas abstractas como entornos de ejecución. En particular se presenta una prueba de corrección de un compilador basada en la semántica denotacional del lenguaje, utilizando técnic...

Descripción completa

Detalles Bibliográficos
Autor: Rodríguez, Leonardo Matías
Tipo de recurso: tesis doctoral
Estado:Versión publicada
Fecha de publicación:2017
País:Argentina
Institución:Universidad Nacional de Córdoba
Repositorio:Repositorio Digital Universitario (UNC)
Idioma:español
OAI Identifier:oai:rdu.unc.edu.ar:11086/5801
Acceso en línea:http://hdl.handle.net/11086/5801
Access Level:acceso abierto
Palabra clave:Especificación, verificación y razonamiento sobre programas
Máquinas abstractas
Descripción
Sumario:En esta tesis se analiza cómo demostrar la corrección de compiladores de lenguajes con evaluación normal, utilizando máquinas abstractas como entornos de ejecución. En particular se presenta una prueba de corrección de un compilador basada en la semántica denotacional del lenguaje, utilizando técnicas como step-indexing y biortogonalidad para definir relaciones lógicas que capturen la noción de corrección del compilador de manera composicional. Además, se desarrolla un enfoque basado en la noción de realizabilidad para demostrar la corrección del compilador en un lenguaje con evaluación lazy. Todas las pruebas de corrección presentadas en la tesis están formalizadas en Coq, un asistente de demostración con tipos dependientes.