Verification Aware Programming Language Concurrency Semantics
"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 m...
ver más
¿Tienes un proyecto y buscas un partner? Gracias a nuestro motor inteligente podemos recomendarte los mejores socios y ponerte en contacto con ellos. Te lo explicamos en este video
Proyectos interesantes
TIN2011-25639
MODELO DE GENERACION DE CODIGO PARALELO PORTABLE
12K€
Cerrado
ERC2018-092826
SINCRONIZACION EFICIENTE EN ARQUITECTURAS MULTINUCLEO
75K€
Cerrado
TIN2013-42253-P
ARQUITECTURAS, COMPILADORES Y APLICACIONES EN MULTIPROCESADO...
208K€
Cerrado
PTQ-11-04970
Concurrencia y gestión hardware para procesado multitarea en...
92K€
Cerrado
JCI-2010-08550
Teoría e Implementación de la Programación Lógica, Funcional...
101K€
Cerrado
TIN2015-71819-P
TECNOLOGIAS RIGUROSAS PARA EL ANALISIS Y VERIFICACION DE SOF...
108K€
Cerrado
Información proyecto VAPLCS
Duración del proyecto: 78 meses
Fecha Inicio: 2019-09-12
Fecha Fin: 2026-03-31
Líder del proyecto
TEL AVIV UNIVERSITY
No se ha especificado una descripción o un objeto social para esta compañía.
TRL
4-5
Presupuesto del proyecto
1M€
Fecha límite de participación
Sin fecha límite de participación.
Descripción del proyecto
"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.
"