TY - GEN
T1 - Accelerating CAR-Based Model-Checking with Multiple Unsatisfiable Cores
AU - Dong, Yibo
AU - Wu, Xiwei
AU - Li, Jianwen
AU - Pu, Geguang
AU - Strichman, Ofer
N1 - Publisher Copyright:
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2026.
PY - 2026
Y1 - 2026
N2 - Model checking is a framework for automated formal verification of transition systems, like hardware designs. Two leading model-checking techniques, PDR and CAR, are based on multiple calls to a SAT solver, for the purpose of finding a path to a bug or proving its absence. They build sequences of formulas, called frames, that represent approximated sets of states, e.g., a frame can contain an over-approximation of the states that can reach the negated property within a given number of steps. Part of the process is to make these sets more precise, i.e., less approximating, and this is done by strengthening the frames with negation of states that were proven to be spurious. A key component for performance is the ability of these engines to generalize those states and thus accelerate the process of making the frames more precise. This is done by strengthening them with the unsatisfiable cores that the SAT solver returns. In this work, we suggest several performance improvements to this process, most notably a technique for generating multiple such cores in linear time and adding them simultaneously to the frames. Our results show that our implementation of these techniques, on top of SimpleCAR, not only improves its performance, but also solves more (unsafe) cases than any other model-checker in the public domain, and solves instances from the HWMCC that no other model checker can solve, hence it contributes to the state-of-the-art.
AB - Model checking is a framework for automated formal verification of transition systems, like hardware designs. Two leading model-checking techniques, PDR and CAR, are based on multiple calls to a SAT solver, for the purpose of finding a path to a bug or proving its absence. They build sequences of formulas, called frames, that represent approximated sets of states, e.g., a frame can contain an over-approximation of the states that can reach the negated property within a given number of steps. Part of the process is to make these sets more precise, i.e., less approximating, and this is done by strengthening the frames with negation of states that were proven to be spurious. A key component for performance is the ability of these engines to generalize those states and thus accelerate the process of making the frames more precise. This is done by strengthening them with the unsatisfiable cores that the SAT solver returns. In this work, we suggest several performance improvements to this process, most notably a technique for generating multiple such cores in linear time and adding them simultaneously to the frames. Our results show that our implementation of these techniques, on top of SimpleCAR, not only improves its performance, but also solves more (unsafe) cases than any other model-checker in the public domain, and solves instances from the HWMCC that no other model checker can solve, hence it contributes to the state-of-the-art.
UR - https://www.scopus.com/pages/publications/105021837398
U2 - 10.1007/978-3-032-06847-7_5
DO - 10.1007/978-3-032-06847-7_5
M3 - 会议稿件
AN - SCOPUS:105021837398
SN - 9783032068460
T3 - Lecture Notes in Computer Science
SP - 88
EP - 105
BT - Model Checking Software - 31st International Symposium, SPIN 2025, Proceedings
A2 - Ernst, Gidon
A2 - Rozier, Kristin Yvonne
PB - Springer Science and Business Media Deutschland GmbH
T2 - 31st International Symposium on Model Checking Software, SPIN 2025
Y2 - 7 May 2025 through 8 May 2025
ER -