Descripción del proyecto
Verificación de lenguajes de programación concurrente de uso general y emergentes
El objetivo fundamental del proyecto VAPLCS, financiado con fondos europeos, es desarrollar un nuevo modelo para describir formalmente la semántica de programas concurrentes. El modelo debería permitir una aplicación sencilla, ofrecer garantías fáciles de utilizar, ser suficientemente sólido para algoritmos concurrentes y aceptar modificaciones para una verificación modulable. Para ello, los investigadores aprovecharán el trabajo que realizaron recientemente para abordar las carencias del modelo de concurrencia C/C++ y en la comprobación de modelos en ciertas semánticas de concurrencia débil. Además, desarrollarán métodos de verificación práctica para facilitar la programación concurrente. Los resultados del proyecto deberían aumentar significativamente la aplicabilidad de la verificación, salvar una importante laguna entre la investigación de verificación y la programación concurrente práctica, y arrojar luz sobre la función de la semántica subyacente.
Objetivo
"With the proliferation of multi-core processors, concurrent programming regularly appears at the core of heavily relied-upon systems, where both performance and correctness are of paramount importance. The canonical concurrency model is sequential consistency-identifying concurrent programs with all possible interleavings of operations of their constitute threads. It is a simple model for programmers, but unsatisfactory as a programming language concurrency semantics. First, performance-wise, it is too costly to implement. In fact, no commodity hardware provides sequential consistency. Second, the number of interleavings is often so large, posing the infamous ""state explosion problem"" as the utmost obstacle to any verification attempt.
Our overarching goal is to develop a novel concurrency semantics for programming languages that will: allow efficient implementation; provide easily usable guarantees, sufficiently strong for concurrent algorithms; and be amenable to scalable verification. To achieve this, we will leverage our recent advances in addressing the flaws in the C/C++ and Java specifications and in model checking under certain weak concurrency semantics. Moreover, we will develop practical verification methods to facilitate the task of concurrent programming.
This proposal makes a conceptual leap beyond the state-of-the-art, by identifying the development of a weak concurrency semantics not only as an unfortunate necessity, but also as an opportunity to revolutionize software verification. It is high-risk: it tackles a longstanding open problem in programming languages. It is also high-gain: it will significantly increase the applicability of verification, bridge a major gap between verification research and practical concurrent programming, and shed light on the role of the underlying semantics. I aim for the proposed concurrency semantics to provide new foundations for the specifications of mainstream and emerging programming languages.
"
Palabras clave
Palabras clave del proyecto indicadas por el coordinador del proyecto. No confundir con la taxonomía EuroSciVoc (Ámbito científico).
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.
Programas de financiación plurianuales que definen las prioridades de la UE en materia de investigación e innovación.
-
H2020-EU.1.1. - EXCELLENT SCIENCE - European Research Council (ERC)
PROGRAMA PRINCIPAL
Ver todos los proyectos financiados en el marco de este programa
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.
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.
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.
ERC-STG - Starting Grant
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.
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-2019-STG
Ver todos los proyectos financiados en el marco de esta convocatoriaInstitución de acogida
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.
69978 Tel Aviv
Israel
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.