NeuroCodeBench: a plain C neural network benchmark for software verification

Edoardo Manino, Rafael Sá Menezes, Fedor Shmarov, Lucas C. Cordeiro
9/7/2023
cs.SEcs.AIcs.CR

No official code found. Best implementation: emanino/plain_c_nn_benchmark (7 stars, MIT, last commit 2026-04-15).

Abstract

Safety-critical systems with neural network components require strong guarantees. While existing neural network verification techniques have shown great progress towards this goal, they cannot prove the absence of software faults in the network implementation. This paper presents NeuroCodeBench - a verification benchmark for neural network code written in plain C. It contains 32 neural networks with 607 safety properties divided into 6 categories: maths library, activation functions, error-correcting networks, transfer function approximation, probability density estimation and reinforcement learning. Our preliminary evaluation shows that state-of-the-art software verifiers struggle to provide correct verdicts, due to their incomplete support of the standard C mathematical library and the complexity of larger neural networks.

View on arXivView PDF

Code Implementations(1)

MIT
72C, CMakeAug 3, 20236 months agoMIT

Similar Papers

Cite this paper

@article{manino2023neurocodebench,
  title  = {NeuroCodeBench: a plain C neural network benchmark for software verification},
  author = {Edoardo Manino and Rafael Sá Menezes and Fedor Shmarov and Lucas C. Cordeiro},
  year   = {2023},
  eprint = {2309.03617},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2309.03617v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2309.03617.svg)](https://codeofpaper.com/paper/2309.03617)

Discussion