Interference relation-guided SMT solving for multi-threaded program verification
Hongyu Fan, Weiting Liu, Fei He
Abstract
Concurrent program verification is challenging due to a large number of thread interferences. A popular approach is to encode concurrent programs as SMT formulas and then rely on off-the-shelf SMT solvers to accomplish the verification. In most existing works, an SMT solver is simply treated as the backend. There is little research on improving SMT solving for concurrent program verification.
In this paper, we recognize the characteristics of interference relation in multi-threaded programs and propose a novel approach for utilizing the interference relation in the SMT solving of multi-threaded program verification under various memory models. We show that the backend SMT solver can benefit a lot from the domain knowledge of concurrent programs. We implemented our approach in a prototype tool called Zpre. We compared it with the state-ofthe-art Z3 tool on credible benchmarks from the Concurren-cySafety category of SV-COMP 2019. Experimental results show promising improvements attributed to our approach.
• Software and its engineering → Software verification and validation; • Theory of computation → Logic and verification.
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 96b800db-5878-43aa-8a9c-6a3d836966a2Cited by top-tier papers2
- Consistency-preserving propagation for SMT solving of concurrent program verificationZhihang Sun, Hongyu Fan, Fei HeOOPSLA 2022 · 11 citations
- Verifying Data Constraint Equivalence in FinTech SystemsChengpeng Wang, Gang Fan, Peisen Yao, Fuxiong Pan et al.ICSE 2023 · 4 citations
Related papers
- Satisfiability modulo ordering consistency theory for multi-threaded program verificationFei He, Zhihang Sun, Hongyu FanPLDI 2021 · 26 citations
- Canary: practical static detection of inter-thread value-flow bugsYuandao Cai, Peisen Yao, Charles ZhangPLDI 2021 · 25 citations
- Conditional interpolation: making concurrent program verification more effectiveJie Su, Cong Tian, Zhenhua DuanFSE 2021 · 4 citations
- Generating Rely-Guarantee Conditions with the Conditional-Writes DomainJames Tobler, Graeme SmithFM 2026
- CompCertOC: Verified Compositional Compilation of Multi-threaded Programs with Shared StacksLing Zhang, Yuting Wang, Yalun Liang, Zhong ShaoPLDI 2025
