Skip to main content
Ir a la página de inicio de la Comisión Europea (se abrirá en una nueva ventana)
español español
CORDIS - Resultados de investigaciones de la UE
CORDIS

Verified Extraction from Coq to OCaml with GADTs

Descripción del proyecto

Comprobación de la extracción de código de Coq a lenguajes de propósito general

Coq es un asistente de pruebas formal. Una de sus aplicaciones típicas es la comprobación de la precisión de «software» crítico. Aunque recientemente se ha comprobado un verificador de tipos para Coq a través de una prueba matemática comprobada por máquina, extraer OCaml de Coz sigue siendo parte de su base informática acreditada. Financiado por las Acciones Marie Skłodowska-Curie, el proyecto Coqaml seguirá minimizando la base informática acreditada para programas extraídos proporcionando una prueba de corrección verificada por máquina. Los investigadores pondrán en práctica la extracción de Coq como un complemento MetaCoq verificado mecánicamente, garantizando así que los programas OCaml extraídos se comporten exactamente como indica la función Coq.

Objetivo

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.

Ámbito científico (EuroSciVoc)

CORDIS clasifica los proyectos con EuroSciVoc, una taxonomía plurilingüe de ámbitos científicos, mediante un proceso semiautomático basado en técnicas de procesamiento del lenguaje natural. Véas: El vocabulario científico europeo..

Para utilizar esta función, debe iniciar sesión o registrarse

Palabras clave

Palabras clave del proyecto indicadas por el coordinador del proyecto. No confundir con la taxonomía EuroSciVoc (Ámbito científico).

Programa(s)

Programas de financiación plurianuales que definen las prioridades de la UE en materia de investigación e innovación.

Tema(s)

Las convocatorias de propuestas se dividen en temas. Un tema define una materia o área específica para la que los solicitantes pueden presentar propuestas. La descripción de un tema comprende su alcance específico y la repercusión prevista del proyecto financiado.

Régimen de financiación

Régimen de financiación (o «Tipo de acción») dentro de un programa con características comunes. Especifica: el alcance de lo que se financia; el porcentaje de reembolso; los criterios específicos de evaluación para optar a la financiación; y el uso de formas simplificadas de costes como los importes a tanto alzado.

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

Ver todos los proyectos financiados en el marco de este régimen de financiación

Convocatoria de propuestas

Procedimiento para invitar a los solicitantes a presentar propuestas de proyectos con el objetivo de obtener financiación de la UE.

(se abrirá en una nueva ventana) H2020-MSCA-IF-2020

Ver todos los proyectos financiados en el marco de esta convocatoria

Coordinador

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET AUTOMATIQUE
Aportación neta de la UEn

Aportación financiera neta de la UE. Es la suma de dinero que recibe el participante, deducida la aportación de la UE a su tercero vinculado. Considera la distribución de la aportación financiera de la UE entre los beneficiarios directos del proyecto y otros tipos de participantes, como los terceros participantes.

€ 184 707,84
Coste total

Los costes totales en que ha incurrido esta organización para participar en el proyecto, incluidos los costes directos e indirectos. Este importe es un subconjunto del presupuesto total del proyecto.

€ 184 707,84
Mi folleto 0 0