PolyVer: A Compositional Approach for Polyglot System Modeling and Verification

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Chen, Pei-Wei, Lin, Shaokai, Godbole, Adwait, Singh, Ramneet, Polgreen, Elizabeth, Lee, Edward A., Seshia, Sanjit A.
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866914088698773504
author Chen, Pei-Wei
Lin, Shaokai
Godbole, Adwait
Singh, Ramneet
Polgreen, Elizabeth
Lee, Edward A.
Seshia, Sanjit A.
author_facet Chen, Pei-Wei
Lin, Shaokai
Godbole, Adwait
Singh, Ramneet
Polgreen, Elizabeth
Lee, Edward A.
Seshia, Sanjit A.
contents Several software systems are polyglot; that is, they comprise programs implemented in a combination of programming languages. Verifiers that directly run on mainstream programming languages are currently customized for single languages. Thus, to verify polyglot systems, one usually translates them into a common verification language or formalism on which the verifier runs. In this paper, we present an alternative approach, PolyVer, which employs abstraction, compositional reasoning, and synthesis to directly perform polyglot verification. PolyVer constructs a formal model of the original polyglot system as a transition system where the update functions associated with transitions are implemented in target languages such as C or Rust. To perform verification, PolyVer then connects a model checker for transition systems with language-specific verifiers (e.g., for C or Rust) using pre/post-condition contracts for the update functions. These contracts are automatically generated by synthesis oracles based on syntax-guided synthesis or large language models (LLMs), and checked by the language-specific verifiers. The contracts form abstractions of the update functions using which the model checker verifies the overall system-level property on the polyglot system model. PolyVer iterates between counterexample-guided abstraction-refinement (CEGAR) and counterexample-guided inductive synthesis (CEGIS) until the property is verified or a true system-level counterexample is found. We demonstrate the utility of PolyVer for verifying programs in the Lingua Franca polyglot language using the UCLID5 model checker connected with the CBMC and Kani verifiers for C and Rust respectively.
format Preprint
id arxiv_https___arxiv_org_abs_2503_03207
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle PolyVer: A Compositional Approach for Polyglot System Modeling and Verification
Chen, Pei-Wei
Lin, Shaokai
Godbole, Adwait
Singh, Ramneet
Polgreen, Elizabeth
Lee, Edward A.
Seshia, Sanjit A.
Programming Languages
Several software systems are polyglot; that is, they comprise programs implemented in a combination of programming languages. Verifiers that directly run on mainstream programming languages are currently customized for single languages. Thus, to verify polyglot systems, one usually translates them into a common verification language or formalism on which the verifier runs. In this paper, we present an alternative approach, PolyVer, which employs abstraction, compositional reasoning, and synthesis to directly perform polyglot verification. PolyVer constructs a formal model of the original polyglot system as a transition system where the update functions associated with transitions are implemented in target languages such as C or Rust. To perform verification, PolyVer then connects a model checker for transition systems with language-specific verifiers (e.g., for C or Rust) using pre/post-condition contracts for the update functions. These contracts are automatically generated by synthesis oracles based on syntax-guided synthesis or large language models (LLMs), and checked by the language-specific verifiers. The contracts form abstractions of the update functions using which the model checker verifies the overall system-level property on the polyglot system model. PolyVer iterates between counterexample-guided abstraction-refinement (CEGAR) and counterexample-guided inductive synthesis (CEGIS) until the property is verified or a true system-level counterexample is found. We demonstrate the utility of PolyVer for verifying programs in the Lingua Franca polyglot language using the UCLID5 model checker connected with the CBMC and Kani verifiers for C and Rust respectively.
title PolyVer: A Compositional Approach for Polyglot System Modeling and Verification
topic Programming Languages
url https://arxiv.org/abs/2503.03207