Neuro-Symbolic Software Verification: Hyper-charging Local Language Models with Symbolic Reasoning at Scale
Summary
VerIbmc is a neuro-symbolic pipeline designed for automated loop invariant synthesis in C programs, addressing the limitations of proprietary cloud-based LLM tools for privacy-sensitive industrial deployments. This system integrates locally deployable open-weight language models with the ESBMC verification tool. VerIbmc operates in three phases: an initial baseline verification, a deterministic symbolic invariant generation phase, and an iterative LLM refinement loop guided by structured verifier feedback. The pipeline also explores Chain-of-Thought and Tree-of-Thought prompting strategies. An extensive evaluation across five open-weight models, ranging from 7B to 120B parameters, and five benchmark families comprising 499 effective problems, demonstrated strong performance. The top configuration, GPT-OSS-120B, successfully solved 431 problems (86.4%), proving competitive with cloud-API tools while operating entirely on a single local machine. Symbolic invariant synthesis alone resolved 75 problems and provided up to 35 additional solves for weaker models.
Key takeaway
For software engineers or ML engineers tasked with formally verifying privacy-sensitive code or managing verification costs, you should consider VerIbmc. This neuro-symbolic pipeline, leveraging local open-weight LLMs and ESBMC, offers a robust alternative to expensive cloud-API tools. It ensures data privacy and reduces operational costs while achieving competitive loop invariant synthesis rates for complex C programs. Integrate this approach to enhance your verification workflows without external data exposure.
Key insights
Neuro-symbolic verification with local LLMs effectively synthesizes loop invariants, enhancing privacy and efficiency over cloud APIs.
Principles
- Combine symbolic and neural methods for robust verification.
- Prioritize local, open-weight LLMs for privacy and cost.
- Iterative refinement with verifier feedback improves LLM accuracy.
Method
VerIbmc uses a three-phase pipeline: baseline verification, symbolic atom generation, and an iterative LLM refinement loop. LLM proposals are verified by ESBMC, decomposed, and recombined, with feedback guiding subsequent prompts.
In practice
- Deploy open-weight LLMs locally for code verification.
- Integrate symbolic pre-analysis to boost LLM performance.
- Use verifier feedback to iteratively refine LLM-generated invariants.
Topics
- Neuro-Symbolic AI
- Loop Invariant Synthesis
- Local Language Models
- Software Verification
- ESBMC
- Prompt Engineering
Code references
Best for: Research Scientist, AI Scientist, Machine Learning Engineer, Software Engineer
Related on AIssential
Editorial summary, takeaway, and curation by AIssential. Original article published by cs.SE updates on arXiv.org.