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

Principles and Methods to Verify OCaml Programs

Descripción del proyecto

Desarrollo de un marco de verificación deductiva para programas OCaml

Un «software» de verificación deductiva podría convertir el nivel de exactitud de un programa informático en un argumento matemático y, a continuación, verificarlo. Un programa desarrollado con el lenguaje OCaml parece ser un objetivo particularmente bueno para la verificación. OCaml es el lenguaje elegido para desarrollar «software» sensible, es un lenguaje multiparadigmático que permite escribir código conciso y elegante, y presenta un modelo de ejecución simple y una semántica funcional. Con todo, aún no existe una herramienta de verificación casi totalmente automatizada que pueda utilizar código escrito directamente en OCaml. Para abordar este problema, el objetivo del proyecto Cameleer, financiado con fondos europeos, es crear un marco de verificación deductivo centrado en la automatización de pruebas que realice directamente la verificación de programas escritos con OCaml. Esto proporcionará un marco de verificación potente, útil y casi totalmente automatizada para la comunidad OCaml, lo que fomentará que más programadores incluyan métodos formales en sus rutinas de desarrollo.

Objetivo

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.

Á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

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

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

Ver todos los proyectos financiados en el marco de esta convocatoria

Coordinador

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

€ 147 815,04
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.

€ 147 815,04
Mi folleto 0 0