[Paper] SV-LIB 1.0: A Standard Exchange Format for Software-Verification Tasks
Source: arXiv - 2511.21509v1
Overview
In the past two decades, significant research and development effort went into the development of verification tools for individual languages, such as C, C++, and Java. Many of the used verification approaches are in fact language‑agnostic and it would be beneficial for the technology transfer to allow for using the implementations also for other programming and modeling languages. To address the problem, we propose SV‑LIB, an exchange format and intermediate language for software‑verification tasks, including programs, specifications, and verification witnesses. SV‑LIB is based on well‑known concepts from imperative programming languages and uses SMT‑LIB to represent expressions and sorts used in the program. This makes it easy to parse and to build into existing infrastructure, since many verification tools are based on SMT solvers already. Furthermore, SV‑LIB defines a witness format for both correct and incorrect SV‑LIB programs, together with means for specifying witness‑validation tasks. This makes it possible both to implement independent witness validators and to reuse some verifiers also as validators for witnesses. This paper presents version 1.0 of the SV‑LIB format, including its design goals, the syntax, and informal semantics. Formal semantics and further extensions to concurrency are planned for future versions.
Authors
- Dirk Beyer
- Gidon Ernst
- Martin Jonáš
- Marian Lingsch‑Rosenfeld
Categories
cs.PL, cs.SC, cs.SE
Paper Information
- arXiv ID: 2511.21509v1
- Categories: cs.PL, cs.SC, cs.SE
- Published: November 27, 2025
- PDF: Download PDF