Floating-Point Neural Network Verification at the Software Level

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Manino, Edoardo, Farias, Bruno, Menezes, Rafael Sá, Shmarov, Fedor, Cordeiro, Lucas C.
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866911234835611648
author Manino, Edoardo
Farias, Bruno
Menezes, Rafael Sá
Shmarov, Fedor
Cordeiro, Lucas C.
author_facet Manino, Edoardo
Farias, Bruno
Menezes, Rafael Sá
Shmarov, Fedor
Cordeiro, Lucas C.
contents The behaviour of neural network components must be proven correct before deployment in safety-critical systems. Unfortunately, existing neural network verification techniques cannot certify the absence of faults at the software level. In this paper, we show how to specify and verify that neural networks are safe, by explicitly reasoning about their floating-point implementation. In doing so, we construct NeuroCodeBench 2.0, a benchmark comprising 912 neural network verification examples that cover activation functions, common layers, and full neural networks of up to 170K parameters. Our verification suite is written in plain C and is compatible with the format of the International Competition on Software Verification (SV-COMP). Thanks to it, we can conduct the first rigorous evaluation of eight state-of-the-art software verifiers on neural network code. The results show that existing automated verification tools can correctly solve an average of 11% of our benchmark, while producing around 3% incorrect verdicts. At the same time, a historical analysis reveals that the release of our benchmark has already had a significantly positive impact on the latter.
format Preprint
id arxiv_https___arxiv_org_abs_2510_23389
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Floating-Point Neural Network Verification at the Software Level
Manino, Edoardo
Farias, Bruno
Menezes, Rafael Sá
Shmarov, Fedor
Cordeiro, Lucas C.
Software Engineering
Cryptography and Security
Machine Learning
The behaviour of neural network components must be proven correct before deployment in safety-critical systems. Unfortunately, existing neural network verification techniques cannot certify the absence of faults at the software level. In this paper, we show how to specify and verify that neural networks are safe, by explicitly reasoning about their floating-point implementation. In doing so, we construct NeuroCodeBench 2.0, a benchmark comprising 912 neural network verification examples that cover activation functions, common layers, and full neural networks of up to 170K parameters. Our verification suite is written in plain C and is compatible with the format of the International Competition on Software Verification (SV-COMP). Thanks to it, we can conduct the first rigorous evaluation of eight state-of-the-art software verifiers on neural network code. The results show that existing automated verification tools can correctly solve an average of 11% of our benchmark, while producing around 3% incorrect verdicts. At the same time, a historical analysis reveals that the release of our benchmark has already had a significantly positive impact on the latter.
title Floating-Point Neural Network Verification at the Software Level
topic Software Engineering
Cryptography and Security
Machine Learning
url https://arxiv.org/abs/2510.23389