Software Model Checking via Summary-Guided Search
Ruijie Fang, Zachary Kincaid, Thomas Reps
Abstract
In this work, we describe a new software model-checking algorithm called GPS. GPS treats the task of model checking a program as a directed search of the program states, guided by a compositional, summary-based static analysis. The summaries produced by static analysis are used both to prune away infeasible paths and to drive test generation to reach new, unexplored program states. GPS can find both proofs of safety and counter-examples to safety (i.e., inputs that trigger bugs), and features a novel two-layered search strategy that renders it particularly efficient at finding bugs in programs featuring long, input-dependent error paths. To make GPS refutationally complete (in the sense that it will find an error if one exists, if it is allotted enough time), we introduce an instrumentation technique and show that it helps GPS achieve refutation-completeness without sacrificing overall performance. We benchmarked GPS on a diverse suite of benchmarks including programs from the Software Verification Competition (SV-COMP), from prior literature, as well as synthetic programs based on examples in this paper. We found that our implementation of GPS outperforms state-of-the-art software model checkers (including the top performers in SV-COMP ReachSafety-Loops category), both in terms of the number of benchmarks solved and in terms of running time.
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 1648dd03-c5e2-48cf-9895-d35fd5f313a3Builds on5
- Directed Greybox FuzzingMarcel Böhme, Van-Thuan Pham, Manh-Dung Nguyen, Abhik RoychoudhuryCCS 2017 · 836 citations
- Hawkeye: Towards a Desired Directed Grey-box FuzzerHongxu Chen, Yinxing Xue, Yuekang Li, Bihuan Chen et al.CCS 2018 · 335 citations
- BEACON: Directed Grey-Box Fuzzing with Provable Path PruningHeqing Huang, Yiyuan Guo, Qingkai Shi, Peisen Yao et al.S&P 2022 · 139 citations
- MC2: Rigorous and Efficient Directed Greybox FuzzingAbhishek Shah, Dongdong She, Samanway Sadhu, Krish Singal et al.CCS 2022 · 15 citations
- Solvable Polynomial Ideals: The Ideal Reflection for Program AnalysisJohn Cyphert, Zachary KincaidPOPL 2024 · 11 citations
Related papers
- Cooperative Software Verification via Dynamic Program SplittingCedric Richter, Marek Chalupa, Marie-Christine Jakobs, Heike WehrheimICSE 2025 · 1 citation
- Reachability Analysis for Multiloop Programs Using Transition Power AbstractionKonstantin Britikov, Martin Blicha, Natasha Sharygina, Grigory FedyukovichFM 2024 · 4 citations
- Engineering a Formally Verified Automated Bug FinderArthur Correnson, Dominic SteinhöfelFSE 2023 · 6 citations
- Property Directed Reachability with Extended ResolutionAndrew Luka, Yakir VizelCAV 2025 · 2 citations
- PUS: A Fast and Highly Efficient Solver for Inclusion-based Pointer AnalysisPeiming Liu, Yanze Li, Bradley Swain, Jeff HuangICSE 2022 · 3 citations
