Skip to main content
Ir a la página de inicio de la Comisión Europea (se abrirá en una nueva ventana)
español es
CORDIS - Resultados de investigaciones de la UE
CORDIS

Sparsity-guided Efficient SMT-solving for Program Verification

Descripción del proyecto

Un avance escalable para impulsar la verificación de «software»

En el ámbito de la verificación de «software», las teorías de satisfacción modular (TSM) constituyen un marco crucial. Sin embargo, la escalabilidad sigue siendo un obstáculo importante, sobre todo para verificar segmentos extensos de programas. En este contexto, el proyecto SPES, financiado por el Consejo Europeo de Investigación, pretende aprovechar la escasez estructural inherente a los programas (que se refleja en su ancho de árbol y ancho de camino acotados). El objetivo de SPES es diseñar solucionadores TSM a medida más rápidos y eficaces. Este método consiste en descomponer los grafos de flujo de control en partes más pequeñas y manejables, guiando al solucionador con órdenes de decisión prometedoras. En consecuencia, el proyecto mejorará la eficiencia algorítmica en la comprobación de la satisfacción y la eliminación de variables. Asimismo, allanará el camino hacia procesos de verificación de «software» más escalables y eficaces.

Objetivo

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.

Ámbito científico (EuroSciVoc)

CORDIS clasifica los proyectos con EuroSciVoc, una taxonomía plurilingüe de ámbitos científicos, mediante un proceso semiautomático basado en técnicas de procesamiento del lenguaje natural. Véas: El vocabulario científico europeo..

Para utilizar esta función, debe iniciar sesión o registrarse

Palabras clave

Palabras clave del proyecto indicadas por el coordinador del proyecto. No confundir con la taxonomía EuroSciVoc (Ámbito científico).

Programa(s)

Programas de financiación plurianuales que definen las prioridades de la UE en materia de investigación e innovación.

Tema(s)

Las convocatorias de propuestas se dividen en temas. Un tema define una materia o área específica para la que los solicitantes pueden presentar propuestas. La descripción de un tema comprende su alcance específico y la repercusión prevista del proyecto financiado.

Régimen de financiación

Régimen de financiación (o «Tipo de acción») dentro de un programa con características comunes. Especifica: el alcance de lo que se financia; el porcentaje de reembolso; los criterios específicos de evaluación para optar a la financiación; y el uso de formas simplificadas de costes como los importes a tanto alzado.

HORIZON-ERC - HORIZON ERC Grants

Ver todos los proyectos financiados en el marco de este régimen de financiación

Convocatoria de propuestas

Procedimiento para invitar a los solicitantes a presentar propuestas de proyectos con el objetivo de obtener financiación de la UE.

(se abrirá en una nueva ventana) ERC-2025-STG

Ver todos los proyectos financiados en el marco de esta convocatoria

Institución de acogida

THE CHANCELLOR, MASTERS AND SCHOLARS OF THE UNIVERSITY OF OXFORD
Aportación neta de la UEn

Aportación financiera neta de la UE. Es la suma de dinero que recibe el participante, deducida la aportación de la UE a su tercero vinculado. Considera la distribución de la aportación financiera de la UE entre los beneficiarios directos del proyecto y otros tipos de participantes, como los terceros participantes.

€ 1 494 803,00
Dirección
WELLINGTON SQUARE UNIVERSITY OFFICES
OX1 2JD Oxford
Reino Unido

Ver en el mapa

Región
South East (England) Berkshire, Buckinghamshire and Oxfordshire Oxfordshire
Tipo de actividad
Higher or Secondary Education Establishments
Enlaces
Coste total

Los costes totales en que ha incurrido esta organización para participar en el proyecto, incluidos los costes directos e indirectos. Este importe es un subconjunto del presupuesto total del proyecto.

€ 1 494 803,00

Beneficiarios (1)

Mi folleto 0 0