Reseña: Compiling concurrency correctly (Verifying software transactional memory)

Se ha publicado una nueva tesis de verificación con Agda: Compiling concurrency correctly (Verifying software transactional memory)

Su autor es Liyang Hu, dirigido por Graham Hutton.

La tesis se ha presentado el pasado mes de junio en la Universidad de Nottingham.

El resumen de la tesis es

Concurrent programming is notoriously difficult, but with multi-core processors becoming the norm, is now a reality that every programmer must face. Concurrency has traditionally been managed using low-level mutual exclusion locks, which are error-prone and do not naturally support the compositional style of programming that is becoming indispensable for today’s large-scale software projects.

A novel, high-level approach that has emerged in recent years is that of software transactional memory (STM), which avoids the need for explicit locking, instead presenting the programmer with a declarative approach to concurrency. However, its implementation is much more complex and subtle, and ensuring its correctness places significant demands on the compiler writer.

This thesis considers the problem of formally verifying an implementation of STM. Utilising a minimal language incorporating only the features that we are interested in studying, we first explore various STM design choices, along with the issue of compiler correctness via the use of automated testing tools. Then we outline a new approach to concurrent compiler correctness using the notion of bisimulation, implemented using the Agda theorem prover. Finally, we show how bisimulation can be used to establish the correctness of a low-level implementation of software transactional memory.

Métodos formales y seguridad en la Red

Hoy publica “El País” el artículo España, blanco de más de cuarenta ciberataques. El artículo es un reportaje sobre “la guerra de los ciberespías” a raíz del ataque a Google. Además cuenta las iniciativas españolas para aumentar la seguridad.

Desde sus inicios los métodos formales se han aplicado a aumentar la seguridad de los sistemas críticos y, más generalmente, a la ingeniería de la seguridad. Dado el uso de la Red, sus programas y servicios se están convirtiendo en sistemas críticos y, por tanto, en campo de aplicación de los métodos formales. Muestra del interés de los sistemas de Red para los métodos formales son la realización de tesis como las siguientes
Read More “Métodos formales y seguridad en la Red”