Abstract

Model Checking is at the heart of formal methods for software and hardware verification. In this area of active research, Bounded Model Checking (BMC) and k-induction have reached very impressive results, especially when both methods are working together. They are based on a common approach that unrolls the transition relation, but each method serves a different purpose in practice. BMC is usually used for bugs findings, while k-induction aims at building inductive invariants. The ZigZag approach, proposed 15 years ago, takes benefit from both strategies by successively calling each one of them, while trying to share a lot of information between calls thanks to the mechanism of SAT clauses learning. Despite the practical importance of the ZigZag algorithm, it was mainly used forwardly until last year. The transition relation was unrolled by increasing depths only. However, as stated by the authors of ZigZag themselves, it was possible to consider the ZigZag approach backwardly. The experimental study of backward zigzag performances was only proposed one year ago. In this paper, we propose to extend the idea of the ZigZag algorithm by allowing to unroll the transitions from the middle. This has the nice property of allowing the SAT solver to keep learnt clauses that are both close to the initial state and to the bad state in the search. Our experimental study however shows that the best option for ZigZag is still to perform it backward, as stated in a previous work. However, we also show that our hybrid approach offers the same performances as forward ZigZag, while allowing more flexible strategies to be developed in the future, for example by choosing the right transition to expand.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

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.