Skip to main content
Vai all'homepage della Commissione europea (si apre in una nuova finestra)
italiano it
CORDIS - Risultati della ricerca dell’UE
CORDIS

Sparsity-guided Efficient SMT-solving for Program Verification

Descrizione del progetto

Un’innovazione scalabile per incentivare la verifica del software

Nel campo della verifica del software, le teorie della soddisfabilità modulo (SMT, Satisfiability Modulo Theory) rappresentano un quadro di riferimento fondamentale; ciononostante, la scalabilità è tuttora un ostacolo significativo, in particolare in relazione alla verifica di ampi segmenti di programma. In questo contesto, il progetto SPES, finanziato dal CER, si propone di sfruttare la sparsità strutturale intrinseca nei programmi, che si riflette nella loro larghezza di albero e di percorso delimitata, con l’obiettivo di progettare risolutori SMT su misura che siano più veloci ed efficienti. L’approccio adottato dal progetto prevede la scomposizione dei grafi dei flussi di controllo in parti più piccole e gestibili, guidando il risolutore con ordini di decisione promettenti. Di conseguenza, il progetto migliorerà l’efficienza algoritmica nella verifica della soddisfabilità e nell’eliminazione delle variabili, aprendo in tal modo la strada a processi di verifica del software più scalabili ed efficaci.

Obiettivo

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.

Campo scientifico (EuroSciVoc)

CORDIS classifica i progetti con EuroSciVoc, una tassonomia multilingue dei campi scientifici, attraverso un processo semi-automatico basato su tecniche NLP. Cfr.: Il Vocabolario Scientifico Europeo.

È necessario effettuare l’accesso o registrarsi per utilizzare questa funzione

Parole chiave

Parole chiave del progetto, indicate dal coordinatore del progetto. Da non confondere con la tassonomia EuroSciVoc (campo scientifico).

Programma(i)

Programmi di finanziamento pluriennali che definiscono le priorità dell’UE in materia di ricerca e innovazione.

Argomento(i)

Gli inviti a presentare proposte sono suddivisi per argomenti. Un argomento definisce un’area o un tema specifico per il quale i candidati possono presentare proposte. La descrizione di un argomento comprende il suo ambito specifico e l’impatto previsto del progetto finanziato.

Meccanismo di finanziamento

Meccanismo di finanziamento (o «Tipo di azione») all’interno di un programma con caratteristiche comuni. Specifica: l’ambito di ciò che viene finanziato; il tasso di rimborso; i criteri di valutazione specifici per qualificarsi per il finanziamento; l’uso di forme semplificate di costi come gli importi forfettari.

HORIZON-ERC - HORIZON ERC Grants

Vedi tutti i progetti finanziati nell’ambito di questo schema di finanziamento

Invito a presentare proposte

Procedura per invitare i candidati a presentare proposte di progetti, con l’obiettivo di ricevere finanziamenti dall’UE.

(si apre in una nuova finestra) ERC-2025-STG

Vedi tutti i progetti finanziati nell’ambito del bando

Istituzione ospitante

THE CHANCELLOR, MASTERS AND SCHOLARS OF THE UNIVERSITY OF OXFORD
Contributo netto dell'UE

Contributo finanziario netto dell’UE. La somma di denaro che il partecipante riceve, decurtata dal contributo dell’UE alla terza parte collegata. Tiene conto della distribuzione del contributo finanziario dell’UE tra i beneficiari diretti del progetto e altri tipi di partecipanti, come i partecipanti terzi.

€ 1 494 803,00
Indirizzo
WELLINGTON SQUARE UNIVERSITY OFFICES
OX1 2JD Oxford
Regno Unito

Mostra sulla mappa

Regione
South East (England) Berkshire, Buckinghamshire and Oxfordshire Oxfordshire
Tipo di attività
Higher or Secondary Education Establishments
Collegamenti
Costo totale

I costi totali sostenuti dall’organizzazione per partecipare al progetto, compresi i costi diretti e indiretti. Questo importo è un sottoinsieme del bilancio complessivo del progetto.

€ 1 494 803,00

Beneficiari (1)

Il mio fascicolo 0 0