Saved in:
Bibliographic Details
Main Authors: Orvalho, Pedro, Kwiatkowska, Marta
Format: Preprint
Published: 2025
Subjects:
Online Access:https://arxiv.org/abs/2508.08171
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909732684431360
author Orvalho, Pedro
Kwiatkowska, Marta
author_facet Orvalho, Pedro
Kwiatkowska, Marta
contents Python has become the dominant language for general-purpose programming, yet it lacks robust tools for formal verification. In contrast, programmers working in languages such as C benefit from mature model checkers, for example CBMC, which enable exhaustive symbolic reasoning and fault localisation. The inherent complexity of Python, coupled with the verbosity and low-level nature of existing transpilers (e.g., Cython), have historically limited the applicability of formal verification to Python programs. In this paper, we propose PyVeritas, a novel framework that leverages Large Language Models (LLMs) for high-level transpilation from Python to C, followed by bounded model checking and MaxSAT-based fault localisation in the generated C code. PyVeritas enables verification and bug localisation for Python code using existing model checking tools for C. Our empirical evaluation on two Python benchmarks demonstrates that LLM-based transpilation can achieve a high degree of accuracy, up to 80--90% for some LLMs, enabling effective development environment that supports assertion-based verification and interpretable fault diagnosis for small yet non-trivial Python programs.
format Preprint
id arxiv_https___arxiv_org_abs_2508_08171
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle PyVeritas: On Verifying Python via LLM-Based Transpilation and Bounded Model Checking for C
Orvalho, Pedro
Kwiatkowska, Marta
Software Engineering
Artificial Intelligence
Python has become the dominant language for general-purpose programming, yet it lacks robust tools for formal verification. In contrast, programmers working in languages such as C benefit from mature model checkers, for example CBMC, which enable exhaustive symbolic reasoning and fault localisation. The inherent complexity of Python, coupled with the verbosity and low-level nature of existing transpilers (e.g., Cython), have historically limited the applicability of formal verification to Python programs. In this paper, we propose PyVeritas, a novel framework that leverages Large Language Models (LLMs) for high-level transpilation from Python to C, followed by bounded model checking and MaxSAT-based fault localisation in the generated C code. PyVeritas enables verification and bug localisation for Python code using existing model checking tools for C. Our empirical evaluation on two Python benchmarks demonstrates that LLM-based transpilation can achieve a high degree of accuracy, up to 80--90% for some LLMs, enabling effective development environment that supports assertion-based verification and interpretable fault diagnosis for small yet non-trivial Python programs.
title PyVeritas: On Verifying Python via LLM-Based Transpilation and Bounded Model Checking for C
topic Software Engineering
Artificial Intelligence
url https://arxiv.org/abs/2508.08171