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

Principles and Methods to Verify OCaml Programs

Descrizione del progetto

Sviluppo di un quadro di verifica deduttiva per i programmi OCaml

La verifica deduttiva del software propone di convertire la correttezza di un programma per computer in un’affermazione matematica e di dimostrarla. Il software, scritto in linguaggio OCaml, sembra rappresentare un bersaglio particolarmente valido per la verifica: è il linguaggio scelto per implementare software sensibile; si tratta di un linguaggio multi-paradigma, che consente di scrivere codice conciso ed elegante; e presenta un modello di esecuzione semplice e una semantica operativa. Tuttavia, non esiste ancora uno strumento di verifica per lo più automatizzato in grado di gestire il codice scritto direttamente in OCaml. Per affrontare questo problema, il progetto Cameleer, finanziato dall’UE, si propone di sviluppare un quadro di verifica deduttiva incentrato sull’automazione di prova, che affronta direttamente la verifica dei programmi scritti in OCaml. Ciò si tradurrà in un quadro di verifica potente, utilizzabile e per lo più automatizzato per la comunità OCaml, portando più programmatori a includere metodi formali nelle loro routine di sviluppo.

Obiettivo

Deductive software verification, a subject within the broader field of formal methods, proposes a very ambitious path: to turn the correctness of a computer program into a mathematical statement, and then prove it. This project aims to develop a deductive verification framework, with a clear focus on proof automation, that directly tackles the verification of OCaml-written programs.
OCaml seems to be particularly good target for verification. On one hand, it is the language of choice for the implementation of sensible software such as proof assistants, automated solvers, and compilers. On the other hand, OCaml is a multi-paradigm language, supporting both the functional and imperative paradigm, one can write clean, concise, type-safe, and efficient code. Yet, a verification tool that can handle hand-written code and is mostly automated does not currently exist. OCaml programmers must chose between proof automation, with the price of learning and programming in a verification-aware language, and then perform code extraction, or tools that require manual proof assistance.
The Cameleer project aims to remedy this situation by providing the tools and principles for the verification of OCaml programs. The main outcome of this project is a powerful, usable, and mostly automated verification framework for the OCaml-written code. This will be a major step towards making verification more accessible to OCaml programmers, even in case they are not verification experts. The Cameleer framework will feature a translation of OCaml programs annotated with specifications written in GOSPEL, a recently proposed specification language, to different intermediate verification languages, namely WhyML, Viper, and Coq. This coexistence of multiple intermediate verification infrastructures allows the devised framework to target the verification of a large subset of OCaml programs, while combining the strengths of each individual intermediate language to obtain better verification results.

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

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-EF-ST - Standard EF

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-2019

Vedi tutti i progetti finanziati nell’ambito del bando

Coordinatore

UNIVERSIDADE NOVA DE LISBOA
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.

€ 147 815,04
Indirizzo
CAMPUS DE CAMPOLIDE
1099 085 Lisboa
Portogallo

Mostra sulla mappa

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.

€ 147 815,04
Il mio fascicolo 0 0