Compositional Verification of Polyglot Systems with Language-Specific Verifiers

Sunday 06 April 2025


The quest for efficient and reliable software verification has been a long-standing challenge in the field of computer science. With the increasing complexity of modern software systems, it’s becoming increasingly difficult to guarantee their correctness without resorting to manual inspection or testing. However, recent advancements in formal verification techniques have shown promising results.


One such approach is PolyVer, a compositional method for verifying polyglot systems – those that combine code written in multiple programming languages. By leveraging abstraction, synthesis, and model checking, PolyVer aims to provide a scalable solution for verifying complex software systems.


The core idea behind PolyVer is to construct a formal model of the polyglot system as a transition system, where update functions associated with transitions are implemented in target languages such as C or Rust. This allows PolyVer to perform verification directly on the original polyglot system, without requiring translations into a common verification language.


To achieve this, PolyVer employs a hybrid approach that combines counterexample-guided abstraction-refinement (CEGAR) and counterexample-guided inductive synthesis (CEGIS). The former method iteratively refines an abstract model of the system until it matches the original system’s behavior, while the latter synthesizes contracts for external procedures based on syntax-guided synthesis or large language models.


The benefits of PolyVer are numerous. It can handle complex systems with multiple languages and frameworks, making it an attractive solution for industries that rely heavily on polyglot software development. Additionally, PolyVer’s compositional approach allows it to scale better than traditional verification methods, which often struggle with the sheer size and complexity of modern software systems.


To demonstrate the effectiveness of PolyVer, the researchers behind the project have applied it to verify programs in the Lingua Franca polyglot language using the UCLID5 model checker connected with CBMC and Kani verifiers for C and Rust respectively. The results show that PolyVer can successfully identify errors and inconsistencies in the system, even when traditional verification methods fail.


While PolyVer is a significant step forward in formal verification, there are still many challenges to be addressed before it can become widely adopted. For example, the approach relies heavily on the availability of large language models and syntax-guided synthesis oracles, which may not always be feasible for all programming languages and systems.


Nevertheless, the potential benefits of PolyVer make it an exciting development in the field of formal verification.


Cite this article: “Compositional Verification of Polyglot Systems with Language-Specific Verifiers”, The Science Archive, 2025.


Formal Verification, Software Verification, Polyglot Systems, Compositional Method, Abstraction, Synthesis, Model Checking, Counterexample-Guided Abstraction-Refinement, Counterexample-Guided Inductive Synthesis, Scalable Solution.


Reference: Pei-Wei Chen, Shaokai Lin, Adwait Godbole, Ramneet Singh, Elizabeth Polgreen, Edward A. Lee, Sanjit A. Seshia, “PolyVer: A Compositional Approach for Polyglot System Modeling and Verification” (2025).


Leave a Reply