Skip to main content
European Commission logo
français français
CORDIS - Résultats de la recherche de l’UE
CORDIS
CORDIS Web 30th anniversary CORDIS Web 30th anniversary

Principles and Methods to Verify OCaml Programs

Description du projet

Développement d’un cadre de vérification déductive pour les programmes OCaml

La vérification logicielle déductive propose de convertir l’exactitude d’un programme informatique en un énoncé mathématique, puis de le prouver. Les logiciels écrits dans le langage OCaml semblent être une cible particulièrement intéressante pour la vérification: c’est la langue de choix pour la mise en œuvre de logiciels sensibles, un langage multi-paradigme permettant d’écrire du code concis et élégant, et il intègre un modèle d’exécution simple et une sémantique opérationnelle. Toutefois, il n’existe pas encore d’outil de vérification automatisé capable de gérer du code directement écrit en OCaml. Pour résoudre ce problème, le projet Cameleer, financé par l’UE, vise à développer un cadre de vérification déductive mettant l’accent sur l’automatisation de la preuve qui aborde directement la vérification des programmes écrits en OCaml. Cela se traduira par un cadre de vérification puissant, utilisable et principalement automatisé pour la communauté OCaml, conduisant davantage de programmeurs à inclure des méthodes formelles dans leurs routines de développement.

Objectif

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.

Champ scientifique (EuroSciVoc)

CORDIS classe les projets avec EuroSciVoc, une taxonomie multilingue des domaines scientifiques, grâce à un processus semi-automatique basé sur des techniques TLN.

Vous devez vous identifier ou vous inscrire pour utiliser cette fonction

Régime de financement

MSCA-IF-EF-ST - Standard EF

Coordinateur

UNIVERSIDADE NOVA DE LISBOA
Contribution nette de l'UE
€ 147 815,04
Adresse
CAMPUS DE CAMPOLIDE
1099 085 Lisboa
Portugal

Voir sur la carte

Type d’activité
Higher or Secondary Education Establishments
Liens
Coût total
€ 147 815,04