The standard translation of a Bounded Model Checking (BMC) instance into a satisfiability problem, (a.k.a SAT), might produce misleading results in the case when the model under verification contains finite paths. Models with finite paths might be produced unknowingly when using modern verification languages such as PSL-Sugar [Property Specification Language: Reference Manual. Version 1.1, Accellera, June 2004]. Specifically, the use of language constructs such as restrict, assume etc. might lead to such models. Thus the user may receive misleading results from SAT based tools. In this paper we describe in what circumstances the finite path problem occurs and present an improved translation of the BMC problem into a SAT instance. The new translation does not suffer from the discussed shortcoming. Our translation is only slightly longer then the usual one introducing one extra Boolean variable in the model. We also show that this translation may improve the SAT solver runtime even for models without finite paths.
[1]
Armin Biere,et al.
Symbolic Model Checking without BDDs
,
1999,
TACAS.
[2]
Edmund M. Clarke,et al.
Model Checking
,
1999,
Handbook of Automated Reasoning.
[3]
Ilan Beer,et al.
On-the-Fly Model Checking of RCTL Formulas
,
1998,
CAV.
[4]
Shoham Ben-David,et al.
Model Checking at IBM
,
2003,
Formal Methods Syst. Des..
[5]
Alan Bundy,et al.
Constructing Induction Rules for Deductive Synthesis Proofs
,
2006,
CLASE.
[6]
Ofer Strichman,et al.
Pruning Techniques for the SAT-Based Bounded Model Checking Problem
,
2001,
CHARME.
[7]
Ofer Shtrichman.
Pruning Techniques for the SAT-Based Bounded Model Checking Problem
,
2001
.
[8]
Dana Fisman,et al.
Reasoning with Temporal Logic on Truncated Paths
,
2003,
CAV.
[9]
Fabio Somenzi,et al.
An Incremental Algorithm to Check Satisfiability for Bounded Model Checking
,
2005,
Electron. Notes Theor. Comput. Sci..