Abstract Certification of Java Programs in Rewriting Logic

  1. Alba Castro, Mauricio Fernando
Dirigida por:
  1. María Alpuente Frasnedo Director/a

Universidad de defensa: Universitat Politècnica de València

Fecha de defensa: 23 de noviembre de 2011

Tribunal:
  1. Salvador Lucas Alba Presidente/a
  2. Alicia Villanueva García Secretario/a
  3. Ricardo Peña Marí Vocal
  4. Francisco Durán Muñoz Vocal
  5. Claude Marché Vocal

Tipo: Tesis

Resumen

En esta tesis se propone una metodología para la certi?cación de programas Java que está basadaen la lógica de reescritura, un marco formal lógico y semántico muy general, implementado e?cientemente en el lenguaje de programación funcional Maude. Se consideran propiedades de seguridad (safety), es decir, propiedades de un sistema que son de?nidas en términos de que no ocurranciertos eventos. Dichas propiedades se caracterizan como problemas de inalcanzabilidad en la lógica de reescritura. Las propiedades de seguridad (safety) se expresan en el estilo de JML, un lenguaje estándar de especi?cación de módulos Java. Con el ?n de obtener un procedimiento de decisión utilizamosm o de los con un número ?nito de estados que obtenemos mediante el uso de la interpretación abstracta. Partiendo de una especi?cación de la semántica de Java escrita en Maude, se desarrolla una semántica operacional abstracta con un número ?nito de estados, también escrita en Maude, que resulta apropiada para la veri?cación de programas. Como subproducto de la veri?cación se entrega un certi?cado de seguridad, que consiste en un conjunto de demostraciones basadas en reescritura, que pueden ser comprobadas fácilmente por el consumidor del código mediante el uso de un motor de reescritura estándar. La técnica de código portador de demostración (proof-carrying code) basada en abstracción, denominada JavaPCC, ha sido implementada y probada con éxito en varios ejemplos,lo cual de muestra la viabilidadd en uestro enfoque.