SV-LIB 1.0: A Standard Exchange Format for Software-Verification Tasks

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Beyer, Dirk, Ernst, Gidon, Jonáš, Martin, Lingsch-Rosenfeld, Marian
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866917106627379200
author Beyer, Dirk
Ernst, Gidon
Jonáš, Martin
Lingsch-Rosenfeld, Marian
author_facet Beyer, Dirk
Ernst, Gidon
Jonáš, Martin
Lingsch-Rosenfeld, Marian
contents In the past two decades, significant research and development effort went into the development of verification tools for individual languages, such asC, 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-LIBis 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-LIBdefines 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-LIBformat, including its design goals, the syntax, and informal semantics. Formal semantics and further extensions to concurrency are planned for future versions.
format Preprint
id arxiv_https___arxiv_org_abs_2511_21509
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle SV-LIB 1.0: A Standard Exchange Format for Software-Verification Tasks
Beyer, Dirk
Ernst, Gidon
Jonáš, Martin
Lingsch-Rosenfeld, Marian
Programming Languages
Symbolic Computation
Software Engineering
In the past two decades, significant research and development effort went into the development of verification tools for individual languages, such asC, 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-LIBis 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-LIBdefines 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-LIBformat, including its design goals, the syntax, and informal semantics. Formal semantics and further extensions to concurrency are planned for future versions.
title SV-LIB 1.0: A Standard Exchange Format for Software-Verification Tasks
topic Programming Languages
Symbolic Computation
Software Engineering
url https://arxiv.org/abs/2511.21509