Back to Search
Start Over
SAT-solving in CSP trace refinement
- Source :
- Science of Computer Programming. 77:1178-1197
- Publication Year :
- 2012
- Publisher :
- Elsevier BV, 2012.
-
Abstract
- In this paper, we address the problem of applying SAT-based bounded model checking (BMC) and temporal k-induction to asynchronous concurrent systems. We investigate refinement checking in the process-algebraic setting of Communicating Sequential Processes (CSP), focusing on the CSP traces model which is sufficient for verifying safety properties. We adapt the BMC framework to the context of CSP and the existing refinement checker FDR yielding bounded refinement checking which also lays the foundation for tailoring the k-induction technique. As refinement checking reduces to checking for reverse containment of possible behaviours, we exploit the SAT-solver to decide bounded language inclusion as opposed to bounded reachability of error states, as in most existing model checkers. Due to the harder problem to decide and the presence of invisible silent actions in process algebras, the original syntactic translation of BMC to SAT cannot be applied directly and we adopt a semantic translation algorithm based on watchdog transformations. We propose a Boolean encoding of CSP processes resting on FDR’s hybrid two-level approach for calculating the operational semantics using supercombinators. We have implemented a prototype tool, SymFDR, written in C++, which uses FDR as a shared library for manipulating CSP processes and the state-of-the-art incremental SAT-solver MiniSAT 2.0. Experiments with BMC indicate that in some cases, especially in complex combinatorial problems, SymFDR significantly outperforms FDR and even copes with problems that are beyond FDR’s capabilities. SymFDR in k-induction mode works reasonably well for small test cases, but is inefficient for larger ones as the threshold becomes too large, due to concurrency.
- Subjects :
- Model checking
Theoretical computer science
Programming language
Computer science
Concurrency
Process calculus
SAT-solving
Bounded model checking
Process algebra
Context (language use)
Communicating sequential processes
computer.software_genre
Operational semantics
FDR
CSP
Bounded function
Safety properties
computer
k-induction
Software
computer.programming_language
TRACE (psycholinguistics)
Subjects
Details
- ISSN :
- 01676423
- Volume :
- 77
- Database :
- OpenAIRE
- Journal :
- Science of Computer Programming
- Accession number :
- edsair.doi.dedup.....0ce820fc7f04c8a61f0acbd9ff9ac9af
- Full Text :
- https://doi.org/10.1016/j.scico.2011.07.008