English

Supporting Software Formal Verification with Large Language Models: An Experimental Study

Software Engineering 2025-07-08 v1

Abstract

Formal methods have been employed for requirements verification for a long time. However, it is difficult to automatically derive properties from natural language requirements. SpecVerify addresses this challenge by integrating large language models (LLMs) with formal verification tools, providing a more flexible mechanism for expressing requirements. This framework combines Claude 3.5 Sonnet with the ESBMC verifier to form an automated workflow. Evaluated on nine cyber-physical systems from Lockheed Martin, SpecVerify achieves 46.5% verification accuracy, comparable to NASA's CoCoSim, but with lower false positives. Our framework formulates assertions that extend beyond the expressive power of LTL and identifies falsifiable cases that are missed by more traditional methods. Counterexample analysis reveals CoCoSim's limitations stemming from model connection errors and numerical approximation issues. While SpecVerify advances verification automation, our comparative study of Claude, ChatGPT, and Llama shows that high-quality requirements documentation and human monitoring remain critical, as models occasionally misinterpret specifications. Our results demonstrate that LLMs can significantly reduce the barriers to formal verification, while highlighting the continued importance of human-machine collaboration in achieving optimal results.

Keywords

Cite

@article{arxiv.2507.04857,
  title  = {Supporting Software Formal Verification with Large Language Models: An Experimental Study},
  author = {Weiqi Wang and Marie Farrell and Lucas C. Cordeiro and Liping Zhao},
  journal= {arXiv preprint arXiv:2507.04857},
  year   = {2025}
}

Comments

Accepted for publication in 2025 IEEE 33rd International Requirements Engineering Conference (RE)

R2 v1 2026-07-01T03:49:13.402Z