Descrizione del progetto
Verifica della precisione dei programmi numerici
Una verifica rigorosa garantisce che un programma si comporti come previsto per tutti gli input validi. La verifica dei programmi numerici che utilizzano numeri a precisione finita è particolarmente impegnativa a causa degli errori di arrotondamento. Il progetto HORNET, finanziato dal CER, si propone di rendere ampiamente applicabile la verifica numerica rigorosa ripensando le tecniche di verifica e debug automatizzate per i programmi numerici. Viene proposto un approccio innovativo per la verifica dell’accuratezza, basato sul ragionamento relazionale deduttivo, che vincola efficacemente la differenza tra i risultati specificati e quelli calcolati del programma. L’approccio sarà modulare, automatizzato e integrato con la verifica delle proprietà di non accuratezza, consentendo così anche un’ottimizzazione sicura del programma. HORNET svilupperà inoltre tecniche complementari per assistere gli sviluppatori nel debug dei tentativi di verifica non riusciti.
Obiettivo
My goal is to make rigorous numerical verification widely applicable and practically usable. Rigorous verification proves at compile-time that a program computes for all valid inputs what it is expected to. It is especially important for numerical programs, which are widely used across application domains and are often safety-critical. However, automated verification of numerical programs over finite-precision (e.g. floating-point) numbers is currently limited. Finite precision introduces rounding errors w.r.t. an ideal, real-valued specification and poses unique challenges for verification of program accuracy and other kinds of desirable properties. As a result, verification of non-trivial numerical programs today requires extensive expert knowledge and mostly manual proofs. Additionally, when verification fails, e.g. because a program is buggy, developers have little debugging help available.
I will rethink automated verification and debugging techniques for numerical programs from the ground up with accuracy as a core property. I propose a novel approach for accuracy verification based on deductive relational reasoning that will be able to effectively bound the difference between the specified (real-valued) and actually computed (finite-precision) program results. My verification approach will be modular, automated, integrate with verification of non-accuracy properties and allow safe program optimizations for real-world programs. To further ensure the practical usability of the verifier, I will develop complementary techniques that will help developers to debug unsuccessful verification attempts, by helping to fix specifications, localize faults in the program and communicate effectively with the verifier.
I will build on my comprehensive expertise with automated rigorous accuracy analysis and optimization of finite-precision arithmetic, and my recent efforts in deductive verification of floating-point runtime errors and numerical specification inference.
Campo scientifico (EuroSciVoc)
CORDIS classifica i progetti con EuroSciVoc, una tassonomia multilingue dei campi scientifici, attraverso un processo semi-automatico basato su tecniche NLP.
CORDIS classifica i progetti con EuroSciVoc, una tassonomia multilingue dei campi scientifici, attraverso un processo semi-automatico basato su tecniche NLP.
È necessario effettuare l’accesso o registrarsi per utilizzare questa funzione
Parole chiave
Programma(i)
- HORIZON.1.1 - European Research Council (ERC) Main Programme
Argomento(i)
Meccanismo di finanziamento
HORIZON-ERC - HORIZON ERC GrantsIstituzione ospitante
751 05 Uppsala
Svezia