Skip to main content

Faster FDR Counterexample Generation Using SAT−Solving

Hristina Palikareva‚ Joel Ouaknine and A. W. Roscoe

Abstract

With the flourishing development of efficient SAT-solvers, bounded model checking (BMC) has proven to be an extremely powerful symbolic model checking technique. In this paper, we address the problem of applying BMC to concurrent systems involving the interaction of multiple processes running in parallel. We adapt the BMC framework to the context of CSP and FDR yielding bounded refinement checking. Refinement checking reduces to checking for reverse containment of possible behaviours. Therefore, we exploit the SAT-solver to decide bounded language inclusion as opposed to bounded reachability of error states, as in most existing model checkers. We focus on the CSP traces model which is sufficient for verifying safety properties. We present a Boolean encoding of CSP processes resting on FDR's hybrid two-level approach for calculating the operational semantics using supercombinators. We describe our bounded refinement-checking algorithm which is based on watchdog transformations and incremental SAT-solving. We have implemented a tool, SymFDR, written in C++ which uses FDR as a shared library for manipulating CSP processes and the state-of-the-art SAT-solver MiniSAT. Experiments indicate that in some cases, especially for complex combinatorial problems, SymFDR significantly outperforms FDR.

Book Title
AVoCS'09 – Proceedings of the Ninth International Workshop on Automated Verification of Critical Systems
Editor
Markus Roggenbach
Journal
Electronic Communications of the EASST
Keywords
CSP‚ FDR‚ concurrency‚ process algebra‚ Bounded Model Checking‚ SAT−solving‚ safety properties
Month
September
Publisher
Electronic Communications of the EASST
Volume
23
Year
2009