Abstract
Model Checking is an important formal method for software and hardware verification. Bounded Model Checking (BMC) and k-induction are both parameterized methods, often working together: BMC focus on bug finding, while k-induction searches for an inductive invariant. Both of them greatly rely on their underlying decision procedure, e.g. on their SAT/SMT solver. By construction, BMC and k-induction formulas can be partitioned into 3 sets, one of them being perfectly symmetric (w.r.t. the unrolling mechanism). We propose in this paper to efficiently take advantage of these symmetries in order to perform learnt clauses replications. Replicating learnt clauses was already suggested in the early years of BMC, but unfortunately abandoned because of its tendency to drown the solver with too many clauses. Recently, constraints replication has been extended to temporal induction, a technique that combines BMC and k-induction, using assumption literals to detect replicable clauses. We propose to revisit constraints replications for temporal induction in a number of new ways. First, we highlight that adding assumption literals to transition relations, as it was done recently, have a non-negligible negative impact in practice. Then, we confirm that the replication of too many clauses in the learnt clause database is also prejudicial in most of the cases, even in temporal induction. Hence, we propose to limit the replication to external (outside the solver) replication only. This allows an even simpler strategy to detect replicable clauses, which requires almost no modification of both the SAT solver and the encoding strategy used in the model checker. Then, we show that, by carefully selecting learnt clauses to replicate, we improve our model checker performance, thus challenging the common belief about clauses replications. As a last contribution, we show that ZigZag, an algorithm that combines BMC and k-induction inside a single solver, is more efficient when performed backward.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.