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

Developing Correct Concurrent Software Using Types

Descrizione del progetto

Nuovi linguaggi di programmazione per la concorrenza

I moderni programmi per computer eseguono molte attività in modo simultaneo, il che è essenziale per elaborare grandi insiemi di dati e per servire molti utenti contemporaneamente. I programmi concorrenti sono tra i più difficili da realizzare in modo corretto, in quanto è difficile stabilire se godono di proprietà quali «il programma risponde sempre» o «i dati privati non possono trapelare agli aggressori». Inoltre, non c’è alcuna garanzia che queste proprietà siano conservate dopo la compilazione di un codice macchina efficiente. Il progetto COCONUT, finanziato dal CER, svilupperà le basi di nuovi linguaggi di programmazione, che garantiranno automaticamente la validità di importanti proprietà (come quelle sopra citate) per costruzione. Questi obiettivi saranno raggiunti combinando ed estendendo i risultati della teoria dei linguaggi di programmazione, della teoria della concorrenza, dei compilatori, della sicurezza e degli assistenti di prova.

Obiettivo

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.

Campo scientifico (EuroSciVoc)

CORDIS classifica i progetti con EuroSciVoc, una tassonomia multilingue dei campi scientifici, attraverso un processo semi-automatico basato su tecniche NLP. Cfr.: Il Vocabolario Scientifico Europeo.

È necessario effettuare l’accesso o registrarsi per utilizzare questa funzione

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.

HORIZON-ERC - HORIZON ERC Grants

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-2024-COG

Vedi tutti i progetti finanziati nell’ambito del bando

Istituzione ospitante

STICHTING RADBOUD UNIVERSITEIT
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.

€ 2 000 000,00
Indirizzo
HOUTLAAN 4
6525 XZ Nijmegen
Paesi Bassi

Mostra sulla mappa

Regione
Oost-Nederland Gelderland Arnhem/Nijmegen
Tipo di attività
Higher or Secondary Education Establishments
Collegamenti
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.

€ 2 000 000,00

Beneficiari (1)

Il mio fascicolo 0 0