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

Verified Extraction from Coq to OCaml with GADTs

Descrizione del progetto

Verificare l’estrazione di codice da Coq per i linguaggi di uso generale

Coq è un sistema formale per la gestione di dimostrazioni. Una delle sue applicazioni comuni consiste nella verifica della correttezza del software critico. Nonostante sia stato recentemente controllato un type checker per Coq tramite una dimostrazione matematica verificata automaticamente, l’estrazione di Ocaml da Coq fa ancora parte della base di calcolo fidata. Il progetto Coqaml, finanziato dal programma di azioni Marie Skłodowska-Curie, ridurrà ulteriormente al minimo la base di calcolo fidata per i programmi estratti fornendo una prova di correttezza verificata dalla macchina. I ricercatori attueranno l’estrazione di Coq come un plugin di MetaCoq verificato a livello meccanico, garantendo che i programmi Ocaml estratti si comportino esattamente come la funzione Coq specificata.

Obiettivo

The Coq proof assistant is a popular tool to verify the correctness of security-critical software. The CompCert C compiler, some implementations of blockchain languages, and the implementation of the P-256 elliptic curve in Google’s BoringSSL library are all OCaml programs obtained by extraction from Coq functions.

While a type checker for Coq has recently been verified via a machine-checked mathematical proof based on the MetaCoq project for verified meta-programming, the extraction process from Coq to OCaml is still part of the trusted computing base (TCB).

The Coqaml project will minimise the TCB for extracted programs even further by also providing a machine-checked correctness proof for the extraction mechanism to OCaml. Under the supervision of Nicolas Tabareau, head of the Inria Gallinette team in Nantes, the experienced researcher (ER) will implement Coq's extraction as mechanically verified MetaCoq-plugin, obtaining the guarantee that extracted OCaml programs behave exactly like the Coq function specified.

In order to be usable in industrial applications, Coqaml will include a novel extraction targeting generalized algebraic datatypes (GADTs) in OCaml. The project includes a secondment of the ER to Nomadic Labs in Paris, who require GADTs as target for Coq's extraction. The intermediate semantic correctness proof for type and proof erasure, allowing axioms like functional extensionality or proof irrelevance in verified programs, can also be exploited in other extraction projects like the CertiCoq compiler from Coq to C code.

The Coqaml project is interdisciplanary by design, spanning logic, type theory, programming languages, and compilers. The density of some of the world’s leading experts on Coq and type theory in the Gallinette team and the expertise at Nomadic Labs will ensure that the environment is ideal for the success of the Coqaml project and the most beneficial development of the ER, greatly enhancing his future career prospects.

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.

MSCA-IF - Marie Skłodowska-Curie Individual Fellowships (IF)

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) H2020-MSCA-IF-2020

Vedi tutti i progetti finanziati nell’ambito del bando

Coordinatore

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET AUTOMATIQUE
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.

€ 184 707,84
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.

€ 184 707,84
Il mio fascicolo 0 0