Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

SAT-solving in CSP trace refinement

Published: 01 September 2012 Publication History
  • Get Citation Alerts
  • 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.

    References

    [1]
    Biere, Armin, Cimatti, Alessandro, Clarke, Edmund M. and Zhu, Yunshan, Symbolic model checking without BDDs. In: TACAS, Springer-Verlag. pp. 193-207.
    [2]
    Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L. and Hwang, L.J., Symbolic model checking: 1020 states and beyond. Information and Computation. v98 i2. 142-170.
    [3]
    . In: Biere, Armin, Heule, Marijn J.H., van Maaren, Hans, Walsh, Toby (Eds.), Frontiers in Artificial Intelligence and Applications, vol. 185. IOS Press.
    [4]
    Biere, Armin, Picosat essentials. JSAT. v4 i2-4. 75-97.
    [5]
    Baier, Christel and Katoen, Joost-Pieter, Principles of Model Checking. 2008. The MIT Press.
    [6]
    Biere, Armin, Kroening, Daniel, Weissenbacher, Georg and Wintersteiger, Christoph, Digitaltechnik. 2008. Springer.
    [7]
    Cimatti, A., Clarke, E., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R. and Tacchella, A., NuSMV version 2: an opensource tool for symbolic model checking. In: LNCS, vol. 2404. Springer.
    [8]
    Chaki, Sagar, Clarke, Edmund M., Ouaknine, Joël, Sharygina, Natasha and Sinha, Nishant, Concurrent software verification with states, events, and deadlocks. Formal Aspects of Computing. v17 i4. 461-483.
    [9]
    Clarke, Edmund, Grumberg, Orna, Jha, Somesh, Lu, Yuan and Veith, Helmut, Counterexample-guided abstraction refinement. In: CAV¿00: Proceedings of the 12th International Conference on Computer Aided Verification, Springer LNCS.
    [10]
    Clarke, Edmund M., Grumberg, Orna and Peled, Doron A., Model Checking. 1999. The MIT Press.
    [11]
    Edmund M. Clarke, Daniel Kroening, Joël Ouaknine, Ofer Strichman, Completeness and complexity of bounded model checking, in: VMCAI, 2004, pp. 85-96.
    [12]
    Clarke, Edmund M., Kroening, Daniel, Ouaknine, Joël and Strichman, Ofer, Computational challenges in bounded model checking. STTT. v7 i2. 174-183.
    [13]
    Chaki, Sagar, Ouaknine, Joël, Yorav, Karen and Clarke, Edmund M., . In: Electronic Notes in Theoretical Compututer Science, vol. 89.
    [14]
    Niklas Eén, Armin Biere, Effective preprocessing in SAT through variable and clause elimination, in: SAT, 2005, pp. 61-75.
    [15]
    Niklas Eén, Niklas Sörensson, An extensible SAT-solver, in: SAT, 2003, pp. 502-518.
    [16]
    Eén, Niklas and Sörensson, Niklas, . In: Electronic Notes in Theoretical Compututer Science, vol. 89.
    [17]
    FSEL, Failures-Divergence Refinement. FDR2 User Manual, Formal Systems (Europe) Ltd., June 2005.
    [18]
    Michael Goldsmith, Operational semantics for fun and profit, in: 25 Years Communicating Sequential Processes, 2004, pp. 265-274.
    [19]
    Hoare, C.A.R., Communicating Sequential Processes. 1985. Prentice-Hall, Inc., Upper Saddle River, NJ, USA.
    [20]
    Jackson, Daniel, Software Abstractions: Logic, Language, and Analysis. 2006. The MIT Press.
    [21]
    Katz, Randy H. and Borriello, Gaetano, Contemporary Logic Design. 2005. second ed. Prentice Hall.
    [22]
    Lowe, Gavin, An attack on the Needham¿Schroeder public-key authentication protocol. Information Processing Letters. v56 i3. 131-133.
    [23]
    Lowe, Gavin, Breaking and fixing the Needham-Schroeder public-key protocol using FDR. In: Lecture Notes in Computer Science, vol. 1055. Springer. pp. 147-166.
    [24]
    Lowe, Gavin, Casper: a compiler for the analysis of security protocols. Journal of Computer Security. v6 i1-2. 53-84.
    [25]
    Kenneth L. McMillan, Interpolation and SAT-based model checking, in: CAV, 2003, pp. 1-13.
    [26]
    Peled, Doron, Ten years of partial order reduction. In: CAV¿98: Proc. 10th International Conference on Computer Aided Verification, Springer-Verlag, London, UK. pp. 17-28.
    [27]
    A. Parashkevov, J. Yantchev, ARC - a tool for efficient refinement and equivalence checking for CSP, in: AAPP, 1996.
    [28]
    A.W. Roscoe, M.H. Goldsmith, N. Moffat, T. Whitworth, I. Zakiuddin, Watchdog transformations for property-oriented model checking, in: Proc. FME, 2003.
    [29]
    A.W. Roscoe, Unbounded nondeterminism in CSP, Technical Report PRG-67, Oxford University Computing Laboratory, July 1988, in: Two papers on CSP. Also appeared in Journal of Logic and Computation, vol. 3, (2) 1993, pp. 131-172.
    [30]
    Roscoe, A.W., Model-checking CSP. In: Roscoe, A.W. (Ed.), A Classical Mind: essays in Honour of C.A.R. Hoare, Prentice-Hall.
    [31]
    Roscoe, A.W., The Theory and Practice of Concurrency. 1998. Prentice Hall.
    [32]
    A.W. Roscoe, On the Expressiveness of CSP, 2011 (in press). Available at http://www.cs.ox.ac.uk/files/1383/expressive.pdf.
    [33]
    Roscoe, A.W., Understanding Concurrent Systems. 2010. Springer.
    [34]
    Roscoe, A.W., Ryan, P., Schneider, S., Goldsmith, M. and Lowe, G., The Modelling and Analysis of Security Protocols. 2001. Addison-Wesley.
    [35]
    Shtrichman, Ofer, Tuning SAT checkers for bounded model checking. In: CAV¿00: Proceedings of the 12th International Conference on Computer Aided Verification, Springer-Verlag, London, UK. pp. 480-494.
    [36]
    Jun Sun, Yang Liu, Jin Song Dong, Model checking CSP revisited: introducing a process analysis toolkit, in: ISoLA, 2008, pp. 307-322.
    [37]
    Sun, Jun, Liu, Yang, Song Dong, Jin and Sun, Jing, Bounded model checking of compositional processes. In: TASE, IEEE. pp. 23-30.
    [38]
    Sheeran, Mary, Singh, Satnam and Stålmarck, Gunnar, Checking safety properties using induction and a SAT-solver. In: FMCAD¿00: Proceedings of the Third International Conference on Formal Methods in Computer-Aided Design, Springer-Verlag, London, UK. pp. 108-125.

    Cited By

    View all
    • (2022)Approximate verification of concurrent systems using token structures and invariantsInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-022-00650-624:4(613-633)Online publication date: 1-Aug-2022
    • (2021)CSP: A Practical Process AlgebraTheories of Programming10.1145/3477355.3477365(187-222)Online publication date: 4-Oct-2021
    • (2019)Efficient Verification of Concurrent Systems Using Synchronisation Analysis and SAT/SMT SolvingACM Transactions on Software Engineering and Methodology10.1145/333514928:3(1-43)Online publication date: 18-Jul-2019
    • Show More Cited By

    Index Terms

    1. SAT-solving in CSP trace refinement
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image Science of Computer Programming
      Science of Computer Programming  Volume 77, Issue 10-11
      September, 2012
      173 pages

      Publisher

      Elsevier North-Holland, Inc.

      United States

      Publication History

      Published: 01 September 2012

      Author Tags

      1. Bounded model checking
      2. CSP
      3. Concurrency
      4. FDR
      5. Process algebra
      6. SAT-solving
      7. Safety properties
      8. k-induction

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 27 Jul 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2022)Approximate verification of concurrent systems using token structures and invariantsInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-022-00650-624:4(613-633)Online publication date: 1-Aug-2022
      • (2021)CSP: A Practical Process AlgebraTheories of Programming10.1145/3477355.3477365(187-222)Online publication date: 4-Oct-2021
      • (2019)Efficient Verification of Concurrent Systems Using Synchronisation Analysis and SAT/SMT SolvingACM Transactions on Software Engineering and Methodology10.1145/333514928:3(1-43)Online publication date: 18-Jul-2019
      • (2019)Efficient verification of concurrent systems using local-analysis-based approximations and SAT solvingFormal Aspects of Computing10.1007/s00165-019-00483-231:3(375-409)Online publication date: 1-Jun-2019
      • (2016)ACSPCheckerProceedings of the 8th Asia-Pacific Symposium on Internetware10.1145/2993717.2993730(99-102)Online publication date: 18-Sep-2016
      • (2015)Model checking CML: tool development and industrial applicationsFormal Aspects of Computing10.1007/s00165-015-0342-227:5-6(975-1001)Online publication date: 1-Nov-2015
      • (2012)Recent developments in FDRProceedings of the 24th international conference on Computer Aided Verification10.1007/978-3-642-31424-7_52(699-704)Online publication date: 7-Jul-2012

      View Options

      View options

      Get Access

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media