How to train your program verifier
Summary
Halley Young and Nikolaj Bjørner describe the a3 framework for generating Advanced Automated Analysis engines and its Python verifier, a3-python. The article discusses scaling verification to mainstream languages like Python, integrating symbolic model checking with AI-assisted synthesis, and a pragmatic pipeline that stacks multiple barriers to reduce false positives. It includes real-world results on codebases such as requests, PyTorch, and LLM2CLIP, illustrating how barrier certificates and directed symbolic execution can certify safety or reveal concrete bugs.