Skip to main content
Vai all'homepage della Commissione europea (si apre in una nuova finestra)
italiano italiano
CORDIS - Risultati della ricerca dell’UE
CORDIS

Verification-Aware Programming Language Concurrency Semantics

Descrizione del progetto

Verificare i linguaggi di programmazione concorrenti tradizionali ed emergenti

L’obiettivo generale del progetto VAPLCS, finanziato dall’UE, è quello di sviluppare un nuovo modello per descrivere formalmente la semantica dei programmi concorrenti. Il modello dovrebbe consentire un’implementazione semplice, fornire garanzie di facile impiego, essere sufficientemente robusto per gli algoritmi concorrenti ed essere adatto a una verifica scalabile. A tal fine, i ricercatori sfrutteranno il proprio recente lavoro, che affronta i difetti nel modello di concorrenza C/C++ e nel controllo del modello in una determinata semantica di concorrenza debole. Inoltre, il team di ricerca svilupperà metodi di verifica pratica per agevolare la programmazione concorrente. I risultati del progetto dovrebbero incrementare significativamente l’applicabilità della verifica, colmare un importante divario tra la ricerca nel campo della verifica e la programmazione concorrente pratica, nonché chiarire il ruolo della semantica sottostante.

Obiettivo

"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.
"

Parole chiave

Parole chiave del progetto, indicate dal coordinatore del progetto. Da non confondere con la tassonomia EuroSciVoc (campo scientifico).

Programma(i)

Programmi di finanziamento pluriennali che definiscono le priorità dell’UE in materia di ricerca e innovazione.

Argomento(i)

Gli inviti a presentare proposte sono suddivisi per argomenti. Un argomento definisce un’area o un tema specifico per il quale i candidati possono presentare proposte. La descrizione di un argomento comprende il suo ambito specifico e l’impatto previsto del progetto finanziato.

Meccanismo di finanziamento

Meccanismo di finanziamento (o «Tipo di azione») all’interno di un programma con caratteristiche comuni. Specifica: l’ambito di ciò che viene finanziato; il tasso di rimborso; i criteri di valutazione specifici per qualificarsi per il finanziamento; l’uso di forme semplificate di costi come gli importi forfettari.

ERC-STG - Starting Grant

Vedi tutti i progetti finanziati nell’ambito di questo schema di finanziamento

Invito a presentare proposte

Procedura per invitare i candidati a presentare proposte di progetti, con l’obiettivo di ricevere finanziamenti dall’UE.

(si apre in una nuova finestra) ERC-2019-STG

Vedi tutti i progetti finanziati nell’ambito del bando

Istituzione ospitante

TEL AVIV UNIVERSITY
Contributo netto dell'UE

Contributo finanziario netto dell’UE. La somma di denaro che il partecipante riceve, decurtata dal contributo dell’UE alla terza parte collegata. Tiene conto della distribuzione del contributo finanziario dell’UE tra i beneficiari diretti del progetto e altri tipi di partecipanti, come i partecipanti terzi.

€ 1 449 528,00
Costo totale

I costi totali sostenuti dall’organizzazione per partecipare al progetto, compresi i costi diretti e indiretti. Questo importo è un sottoinsieme del bilancio complessivo del progetto.

€ 1 449 528,00

Beneficiari (1)

Il mio fascicolo 0 0