arrow
Return

Software Model Checking via Summary-Guided Search

delete2025-10-01
delete0
PRE
AI
R
Ruijie Fang *
Z
Zachary Kincaid
T
Thomas Reps
DOI:10.1145/3763142delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
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-ofthe-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.
Keywords:
Model Checking
Static Analysis
Algebraic Program Analysis

Journal

P
Proceedings of the ACM on Programming Languages-PACMPL
IF:
2.8
Papers:
308
Citations:
4.7K

Organization

U
university of texas austin
Scholars:
2.4W
Papers: 2.0W
Citations: 54
U
university of texas system
Scholars:
18.5W
Papers: 15.6W
Citations: 210
P
princeton university
Scholars:
3.0K
Papers: 1.6K
Citations: 0
researcher View more organizations