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

Sparsity-guided Efficient SMT-solving for Program Verification

Description du projet

Une percée évolutive pour la vérification des logiciels

La satisfiabilité modulo des théories (SMT) constituent un cadre essentiel du domaine de la vérification des logiciels. L’extensibilité demeure toutefois un obstacle important, en particulier pour la vérification de segments de programmes étendus. Dans ce contexte, le projet SPES, financé par le CER, va exploiter la rareté structurelle inhérente aux programmes (qui se traduit par une largeur d’arbre et une largeur de chemin limitées). SPES entend concevoir des résolveurs SMT sur mesure, plus rapides et plus efficaces. Cette approche consiste à décomposer les graphes de flux de contrôle en parties plus petites et plus simples à gérer, en guidant le résolveur avec des ordres de décision prometteurs. Le projet améliorera ainsi l’efficacité algorithmique dans la vérification de la satisfiabilité et l’élimination des variables. Il ouvrira la voie à des processus de vérification des logiciels plus évolutifs et plus performants.

Objectif

Satisfiability modulo theories (SMT) is a ubiquitous framework in modern software verification. It can express a significant number of classical program verification tasks, e.g. invariant generation, reachability and pre/post-conditions, in complex programs with arrays, pointers, real/integer variables, and user-defined data structures. State-of-the-art SMT solvers, such as cvc5/Z3, form the backbone of modern verification suites.

Unfortunately, SMT-based verification methods are far from perfect in terms of scalability. They are especially slow when the desired property depends on a large portion of the program, such as a function with hundreds/thousands of lines. A primary reason is that solvers are designed for *general-purpose* constraint-solving. When a program analysis tool, such as Boogie, reduces a verification task to SMT and passes it to a solver, such as Z3, the solver has no knowledge of the original program or any of its structural and sparsity properties that are inherited by the SMT instance. Thus, it spends significant time exploring unpromising solution paths or applying unproductive heuristics.

In this project, we will exploit the structural sparsity of programs to design faster bespoke SMT-solving algorithms for software verification tasks. It is well-known that control-flow graphs of structured programs are sparse and decomposable. Formally, they have bounded treewidth/pathwidth. Thus, one can successively find small cuts that decompose the graphs into parts of a small size. The idea is to guide the SMT-solver with a promising approximation or decision order based on these decompositions. This is because the SMT instance inherits the sparsity and structure of the underlying program. Thus, it can be decomposed into small parts by successively solving low-dimensional sub-instances. More specifically, this project will use the decomposition to design faster algorithms for satisfiability checking and (approximate) quantifier/variable elimination.

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.

Vous devez vous identifier ou vous inscrire pour utiliser cette fonction

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-2025-STG

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

Institution d’accueil

THE CHANCELLOR, MASTERS AND SCHOLARS OF THE UNIVERSITY OF OXFORD
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 494 803,00
Adresse
WELLINGTON SQUARE UNIVERSITY OFFICES
OX1 2JD Oxford
Royaume-Uni

Voir sur la carte

Région
South East (England) Berkshire, Buckinghamshire and Oxfordshire Oxfordshire
Type d’activité
Higher or Secondary Education Establishments
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 494 803,00

Bénéficiaires (1)

Mon livret 0 0