Skip to main content
Aller à la page d’accueil de la Commission européenne (s’ouvre dans une nouvelle fenêtre)
français français
CORDIS - Résultats de la recherche de l’UE
CORDIS

Certified Refinement Types

Description du projet

Un système de vérification innovant et robuste qui construit des preuves mathématiques vérifiées par machine

Les langages de programmation communiquent des instructions à un ordinateur. Les systèmes de types (ensemble de règles qui attribue une propriété appelée type aux différentes constructions d’un programme, telles que des variables et des fonctions) permettent de définir, de détecter et de prévenir les états de programme illégaux et d’empêcher les erreurs d’exécution pendant le temps d’exécution. Les types de réglage permettent aux programmeurs d’affiner ou de restreindre la signification d’un type. Ils représentent une technologie de vérification prometteuse, mais ne répondent pas aux normes de solidité des résolveurs de problèmes de satisfiabilité modulo des théories qui n’acceptent comme sûrs que les programmes qui ne violent jamais leurs spécifications. Le projet CRETE, financé par l’UE, concevra un système de types de raffinement solide et pratique, applicable à des applications du monde réel, telles que les protocoles cryptographiques.

Objectif

Refinement types are a type-based, static verification technique designed to be practical. They enrich the types of an existing programming language with logical predicates to specify program properties and automatically validate these specifications using SMT solvers. Refinement types are a promising verification technology that in the last decade has spread to mainstream languages (e.g. Haskell, C, Ruby, Scala, and the ML-family) to verify sophisticated properties of real world applications, e.g. safety of cryptographic protocols, memory and resource usage, and web security.

The weakness of refinement types is that they do not meet the soundness standards set by theorem provers. A sound verification system accepts as safe only those programs that never violate their specifications. Refinement type checkers (e.g. Liquid Haskell, F*, and Stainless) approximately report five unsoundness bugs per year, as opposed to only one reported by the Coq theorem prover. This rarity of unsoundness bugs in Coq is unsurprising since Coq is designed to soundly machine check mathematical proofs. Coq's soundness design recipe though cannot be directly applied to refinement type checkers that aim to practically verify real world programs.

The goal of CRETE is to design a sound and practical refinement type system.

This is an ambitious goal that entails the development of a verification system that is as practical as refinement types and constructs machine-checked mathematical proofs. The system will be implemented on refinement type systems for mainstream languages (i.e. Haskell and Rust) and will be evaluated on real-world code, such as web applications and cryptographic protocols.

CRETE is high-risk since it aims to develop a novel program logic in which SMT automation co-exists with real world programming. Yet, CRETE is high-gain since it proposes a low-cost, high-profit approach to formal verification that aims to be integrated in mainstream software development.

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. Voir: Le vocabulaire scientifique européen.
La classification de ce projet a été validée par l'équipe qui en a la charge.

Mots‑clés

Les mots-clés du projet tels qu’indiqués par le coordinateur du projet. À ne pas confondre avec la taxonomie EuroSciVoc (champ scientifique).

Programme(s)

Programmes de financement pluriannuels qui définissent les priorités de l’UE en matière de recherche et d’innovation.

Thème(s)

Les appels à propositions sont divisés en thèmes. Un thème définit un sujet ou un domaine spécifique dans le cadre duquel les candidats peuvent soumettre des propositions. La description d’un thème comprend sa portée spécifique et l’impact attendu du projet financé.

Régime de financement

Régime de financement (ou «type d’action») à l’intérieur d’un programme présentant des caractéristiques communes. Le régime de financement précise le champ d’application de ce qui est financé, le taux de remboursement, les critères d’évaluation spécifiques pour bénéficier du financement et les formes simplifiées de couverture des coûts, telles que les montants forfaitaires.

HORIZON-ERC - HORIZON ERC Grants

Voir tous les projets financés dans le cadre de ce programme de financement

Appel à propositions

Procédure par laquelle les candidats sont invités à soumettre des propositions de projet en vue de bénéficier d’un financement de l’UE.

(s’ouvre dans une nouvelle fenêtre) ERC-2021-STG

Voir tous les projets financés au titre de cet appel

Institution d’accueil

FUNDACION IMDEA SOFTWARE
Contribution nette de l'UE

La contribution financière nette de l’UE est la somme d’argent que le participant reçoit, déduite de la contribution de l’UE versée à son tiers lié. Elle prend en compte la répartition de la contribution financière de l’UE entre les bénéficiaires directs du projet et d’autres types de participants, tels que les participants tiers.

€ 1 500 000,00
Adresse
CAMPUS DE MONTEGANCEDO SN
28223 Pozuelo De Alarcon
Espagne

Voir sur la carte

Région
Comunidad de Madrid Comunidad de Madrid Madrid
Type d’activité
Research Organisations
Liens
Coût total

Les coûts totaux encourus par l’organisation concernée pour participer au projet, y compris les coûts directs et indirects. Ce montant est un sous-ensemble du budget global du projet.

€ 1 500 000,00

Bénéficiaires (1)

Mon livret 0 0