Description du projet
Des réseaux sûrs grâce à des programmes en P4 sans bogues
Les plans de données matériels programmables permettent une flexibilité réseau sans précédent, promettant un ensemble de fonctionnalités réseau en constante évolution à des vitesses matérielles. P4 est un langage de programmation spécialisé qui permet de configurer des plans de données programmables. Développé dans le cadre d’un projet financé par l’UE, af4 est un outil de vérification qui trouve tous les bogues et corrige automatiquement les programmes P4 sans que le programmeur n’ait quoi que ce soit à saisir. Il génère automatiquement des prédicats pour filtrer les entrées de table boguées. Le projet SafeNet, financé par l’UE, va maintenant mener une étude de marché pour identifier de nouveaux clients potentiels. Le but ultime consiste à contribuer à une commercialisation rapide du produit car af4 promet de réduire considérablement les bogues et d’améliorer la sécurité du réseau.
Objectif
Programmable hardware dataplanes such as the Barefoot Tofino enable unprecedented network flexibility, promising an ever-evolving set of network functionalities at hardware speeds, and are being rolled out in production. However, programming such dataplanes is very difficult as numerous bugs have been found even in trivial programs: accesses to uninitialized header fields, header stack underflows or overflows and processing of dropped packets. Verifying P4 programs before deployment is a great solution to make P4 programs safe. Recent research in this direction has shown that many bugs can be caught if (1) we know the concrete table entries at verification time (Vera, our work in Sigcomm 2018), or (2) if programmers express which rules are likely to appear in practice (p4v in Sigcomm 2018). Both approaches impose a high burden on the programmer, which reduces their applicability. In the CORNET ERC Stg project we have developed af4, a verification tool that finds all bugs and automatically fixes P4 programs without needing programmer input. The key insight behind our work is that verification need not consider all table entries because certain table entries will always result in faulty behavior for all matching packets and thus cannot appear in a correct deployment. af4 automatically generates predicates that filter out buggy table entries. If bugs are still reachable after predicate inference, af4 automatically adds a minimal number of keys to the existing tables and generates predicates that remove all bugs in the programs we tested. In this project we will explore the feasibility of commercial exploitation of af4: a) we will conduct a market study to understand potential customers; b) we will study possible approaches to commercialise af4 including open-source + consulting, cloud-based, or closed-source, and c) take steps towards commercialisation including the development of alfa-testing tools to be given to prospective customers.
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).
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.
Programmes de financement pluriannuels qui définissent les priorités de l’UE en matière de recherche et d’innovation.
-
H2020-EU.1.1. - EXCELLENT SCIENCE - European Research Council (ERC)
PROGRAMME PRINCIPAL
Voir tous les projets financés dans le cadre de ce programme
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é.
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.
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.
ERC-POC - Proof of Concept Grant
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.
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-2019-PoC
Voir tous les projets financés au titre de cet appelInstitution d’accueil
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.
010258 Bucuresti Sector 1
Roumanie
L’entreprise s’est définie comme une PME (petite et moyenne entreprise) au moment de la signature de la convention de subvention.
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.