Skip to main content
Ir a la página de inicio de la Comisión Europea (se abrirá en una nueva ventana)
español español
CORDIS - Resultados de investigaciones de la UE
CORDIS

Developing Correct Concurrent Software Using Types

Descripción del proyecto

Nuevos lenguajes de programación para la concurrencia

Los programas informáticos modernos realizan muchas tareas simultáneamente, lo cual es esencial para procesar grandes conjuntos de datos y atender a muchos usuarios a la vez. Los programas concurrentes se encuentran entre los más difíciles de hacer bien, por lo que es un reto determinar si disfrutan de propiedades como «el programa siempre responderá» o «los datos privados no pueden filtrarse a los delincuentes». Además, no existe garantía de que estas propiedades se conserven tras la compilación a código máquina eficiente. El proyecto COCONUT, financiado por el Consejo Europeo de Investigación, desarrollará las bases de nuevos lenguajes de programación que garanticen automáticamente que las propiedades importantes (como las mencionadas anteriormente) se mantienen por construcción. Dichos objetivos se alcanzarán combinando y ampliando los resultados de la teoría de los lenguajes de programación, la teoría de la concurrencia, los compiladores, la seguridad y los asistentes de pruebas.

Objetivo

Modern society runs on concurrent software: different processes (threads) jointly process massive data sets and serve many clients and users simultaneously. Good methods to ensure the correctness of concurrent software are lacking due to the enormous space of concurrent executions. But it is vital to have some correctness guarantees, e.g. “every thread will eventually perform an action” (liveness) or “private data cannot leak to an attacker” (non-interference). Recent years saw an active development and industry adoption of new programming languages that automatically enforce correctness guarantees through a type system that disables programmers from writing “bad programs”. Yet, existing concurrent programming languages cannot enforce “deep” concurrency properties such as liveness and non-interference. Moreover, there is no guarantee that the good properties of high-level programs are preserved after compilation to executable machine code, because compilers perform increasingly complicated unverified optimizations.

The COCONUT project will design and verify new type systems, compilers and logical abstractions for fully-fledged concurrent programming languages that automatically enforce deep program properties. COCONUT will address this objective through rigorous machine-checked foundations, leveraging recent innovations in the development of powerful program logics for concurrency (in which I played a key role). The foundations are essential to prove the validity of our results, but they will also play a key role for experiments and to bring together recent results from the fields of programming language theory, concurrency theory, compilers, security and proof assistants.

COCONUT will impact the development of future concurrent programming languages but also the practice of concurrent programming itself, and thereby contribute towards the grand challenge of enabling software engineers to write correct and secure concurrent software.

Ámbito científico (EuroSciVoc)

CORDIS clasifica los proyectos con EuroSciVoc, una taxonomía plurilingüe de ámbitos científicos, mediante un proceso semiautomático basado en técnicas de procesamiento del lenguaje natural. Véas: El vocabulario científico europeo..

Para utilizar esta función, debe iniciar sesión o registrarse

Palabras clave

Palabras clave del proyecto indicadas por el coordinador del proyecto. No confundir con la taxonomía EuroSciVoc (Ámbito científico).

Programa(s)

Programas de financiación plurianuales que definen las prioridades de la UE en materia de investigación e innovación.

Tema(s)

Las convocatorias de propuestas se dividen en temas. Un tema define una materia o área específica para la que los solicitantes pueden presentar propuestas. La descripción de un tema comprende su alcance específico y la repercusión prevista del proyecto financiado.

Régimen de financiación

Régimen de financiación (o «Tipo de acción») dentro de un programa con características comunes. Especifica: el alcance de lo que se financia; el porcentaje de reembolso; los criterios específicos de evaluación para optar a la financiación; y el uso de formas simplificadas de costes como los importes a tanto alzado.

HORIZON-ERC - HORIZON ERC Grants

Ver todos los proyectos financiados en el marco de este régimen de financiación

Convocatoria de propuestas

Procedimiento para invitar a los solicitantes a presentar propuestas de proyectos con el objetivo de obtener financiación de la UE.

(se abrirá en una nueva ventana) ERC-2024-COG

Ver todos los proyectos financiados en el marco de esta convocatoria

Institución de acogida

STICHTING RADBOUD UNIVERSITEIT
Aportación neta de la UEn

Aportación financiera neta de la UE. Es la suma de dinero que recibe el participante, deducida la aportación de la UE a su tercero vinculado. Considera la distribución de la aportación financiera de la UE entre los beneficiarios directos del proyecto y otros tipos de participantes, como los terceros participantes.

€ 2 000 000,00
Dirección
HOUTLAAN 4
6525 XZ Nijmegen
Países Bajos

Ver en el mapa

Región
Oost-Nederland Gelderland Arnhem/Nijmegen
Tipo de actividad
Higher or Secondary Education Establishments
Enlaces
Coste total

Los costes totales en que ha incurrido esta organización para participar en el proyecto, incluidos los costes directos e indirectos. Este importe es un subconjunto del presupuesto total del proyecto.

€ 2 000 000,00

Beneficiarios (1)

Mi folleto 0 0