Accelerating Automated Program Verifiers by Automatic Proof Localization
Kiran Gopinathan, Dionysios Spiliopoulos, Vikram Goyal, Peter Müller, Markus Püschel, Ilya Sergey
Abstract
Abstract Automated program verifiers such as Dafny, F ⋆ , Verus, and Viper are now routinely used to verify real-world software. Unfortunately, the performance of the SMT solvers employed by these tools is not always able to keep up with the increasing size and complexity of verification problems, resulting in long verification times and verification failures due to time-outs. This performance degradation occurs because large SMT queries increase the search space for the SMT solver, in particular, the number of possible quantifier instantiations. Most existing attempts to mitigate this problem require substantial manual effort to reduce the size of the search space, for instance, by decomposing proofs. In this paper, we present an automatic technique to significantly improve the performance of SMT-based program proofs by drastically reducing the proof search space for each assertion, in particular, the performed quantifier instantiations. Starting from a successful verification, we automatically extract for each assertion the quantified axioms used by the SMT solver to show that the assertion is valid. Crucially, these include lurking axioms , which are logically irrelevant, but needed to trigger the instantiation of other, relevant axioms. We describe a novel proof localization algorithm that implements a semantics-preserving source-to-source translation of a program such that re-verifying an assertion in the optimized program uses only the axioms in its proof essence. This rewriting greatly reduces the possible quantifier instantiations and, thereby, the search space for the SMT solver, such that all future runs of the verifier, for instance as part of continuous integration, are substantially faster. We implemented our algorithm for the Boogie verifier and demonstrated its effectiveness on examples from Dafny and Viper. Specifically, for files with verification times over a minute, we show significant speedups of up to 100–1000 times and no slowdowns. We also provide some evidence that these improvements persist as projects evolve.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext e75b8cbf-2ea4-4fa8-9924-416eb50b64f6Builds on5
- EverCrypt: A Fast, Verified, Cross-Platform Cryptographic ProviderJonathan Protzenko, Bryan Parno, Aymeric Fromherz, Chris Hawblitzel et al.S&P 2020 · 114 citations
- Storage Systems are Distributed Systems (So Verify Them That Way!)Travis Hance, Andrea Lattuada, Chris Hawblitzel, Jon Howell et al.OSDI 2020 · 52 citations
- Cedar: A New Language for Expressive, Fast, Safe, and Analyzable AuthorizationJoseph W. Cutler, Craig Disselkoen, Aaron Eline, Shaobo He et al.OOPSLA 2024 · 28 citations
- Verus: A Practical Foundation for Systems VerificationAndrea Lattuada, Travis Hance, Jay Bosamiya, Matthias Brun et al.SOSP 2024 · 22 citations
- Free Facts: An Alternative to Inefficient Axioms in DafnyTabea Bordis, K. Rustan M. LeinoFM 2024 · 2 citations
Related papers
- Towards Trustworthy Automated Program Verifiers: Formally Validating Translations into an Intermediate Verification LanguageGaurav Parthasarathy, Thibault Dardinier, Benjamin Bonneau, Peter Müller et al.PLDI 2024 · 6 citations
- Identifying Overly Restrictive Matching Patterns in SMT-Based Program VerifiersAlexandra Bugariu, Arshavir Ter-Gabrielyan, Peter MüllerFM 2021 · 3 citations
- Formally Validating a Practical Verification Condition GeneratorGaurav Parthasarathy, Peter Müller, Alexander J. SummersCAV 2021 · 19 citations
- Laurel: Unblocking Automated Verification with Large Language ModelsEric Mugnier, Emmanuel Anaya Gonzalez, Nadia Polikarpova, Ranjit Jhala et al.OOPSLA 2025 · 12 citations
- Verification Algorithms for Automated Separation Logic VerifiersMarco Eilers, Malte Schwerhoff, Peter MüllerCAV 2024 · 5 citations
