Frontiers of Computer Science in China

, Volume 2, Issue 4, pp 368–379 | Cite as

Compositional encoding for bounded model checking

Research Article

Abstract

Verification techniques like SAT-based bounded model checking have been successfully applied to a variety of system models. Applying bounded model checking to compositional process algebras is, however, a highly non-trivial task. One challenge is that the number of system states for process algebra models is not statically known, whereas exploring the full state space is computationally expensive. This paper presents a compositional encoding of hierarchical processes as SAT problems and then applies state-of-the-art SAT solvers for bounded model checking. The encoding avoids exploring the full state space for complex systems so as to deal with state space explosion. We developed an automated analyzer which combines complementing model checking techniques (i.e., bounded model checking and explicit onthe-fly model checking) to validate system models against event-based temporal properties. The experiment results show the analyzer handles large systems.

Keywords

bounded model checking Communication Sequential Processes (CSP) Linear Temporal Logic (LTL) 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Clarke E M, Grumberg O, Peled D A. Model Checking. The Massachusetts Institute of Technology(MIT) Press, 2000Google Scholar
  2. 2.
    Burch J R, Clarke E M, McMillan K L, et al. Sequential circuit verification using symbolic model checking. In: Proceesings of 27th Association for Computing Machinery (ACM)/IEEE Design Automation Conference (DAC’90). Florida, 1990, 46–51Google Scholar
  3. 3.
    Biere A, Clarke E M, Raimi R, et al. Verifiying safety properties of a Power PC microprocessor using symbolic model checking without BDDs. In: Proceesings of 11th Inter. Conf. on Computer Aided Verification (CAV’99). Springer, 1999, 60–71Google Scholar
  4. 4.
    Alur R, Jagadeesan L J, Kott J J, et al. Model-checking of realtime systems: a telecommunications application (experience report). In: Proceesings of 19th International Conference on Software Engineering (ICSE’97), ACM, 1997, 514–524Google Scholar
  5. 5.
    Burch J R, Clarke E M, McMillan K L, et al. Symbolic model checking: 1020 states and beyond. Information and Computation, 1992, 98(2): 142–170MATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Campos S V A, Clarke E M, Minea M. Symbolic techniques for formally verifying industrial systems. Science of Computer Programming, 1997, 29(1–2): 79–98CrossRefGoogle Scholar
  7. 7.
    Bryant R E. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers, 1986, 35(8): 677–691MATHCrossRefGoogle Scholar
  8. 8.
    Clarke EM, Biere A, Raimi R, et al. Bounded model checking using satisfiability solving. Formal Methods in System Design, 2001, 19(1): 7–34MATHCrossRefGoogle Scholar
  9. 9.
  10. 10.
    Hoare C A R. Communicating sequential processes. International Series in Computer Science, Prentice-Hall, 1985MATHGoogle Scholar
  11. 11.
    Cimatti A, Clarke E M, Giunchiglia E, et al. NuSMV 2: an openSource tool for symbolic model checking. In: Proceesings of 14th International Conference on Computer Aided Verification (CAV 2002), 2002, 359–364Google Scholar
  12. 12.
    Brookes S D, Roscoe A W, Walker D J. An operational semantics for CSP Oxford University, Technical report, 1986Google Scholar
  13. 13.
    Roscoe A W. The theory and practice of concurrency, Prentice-Hall, 1997Google Scholar
  14. 14.
    Sun J, Liu Y, Dong J S. PAT: process analysis toolkit. http://pat.comp.nus.edu.sg, 2007
  15. 15.
    Chaki S, Clarke E M, Ouaknine J, et al. State/event-based software model checking. In: Proceesings of 4th International Conference on Integrated Formal Methods (IFM 2004), 2004, 128–147Google Scholar
  16. 16.
    Gastin P and Oddoux D. Fast LTL to büchi automata translation. In: Proceesings of 13th International Conference on Computer Aided Verification (CAV 2001). Springer, 2001, 53–65Google Scholar
  17. 17.
    Holzmann G J. The model checker SPIN. IEEE Transactions on Software Engineering, 1997, 23(5): 279–295CrossRefMathSciNetGoogle Scholar
  18. 18.
    Sun J, Liu Y, Dong J S, et al. Specifying and verifying eventbased fairness enhanced systems. In: Proceesings of 10th International Conference on Formal Engineering Methods (ICFEM 2008), 2008Google Scholar
  19. 19.
    Lamport L. Fairness and hyperfairness. Distributed Computing, 2000, 13(4):239–245CrossRefGoogle Scholar
  20. 20.
    Strichman O. Accelerating bounded model checking of safety properties. Formal Methods in System Design, 2004, 24(1): 5–24MATHCrossRefGoogle Scholar
  21. 21.
    Zhang W H. SAT-based verification of LTL formulas. In: Proceesings of 11th International Workshop FMICS 2006, 2006, 277–292Google Scholar
  22. 22.
    Armando A, Mantovani J, Platania L. Bounded model checking of software using SMT solvers instead of SAT solvers. In: Proceesings of 13th Inte. SPIN Workshop on Model Checking Software (SPIN 2006), 2006, 146–162Google Scholar
  23. 23.
    Parashkevov A, Yantchev J. ARC-a tool for efficient refinement and equivalence checking for CSP. In: Proceesings of the IEEE International Conference on Algorithms and Architectures for Parallel Processing (ICA3PP’ 96), 1996, 68–75Google Scholar
  24. 24.
    Brooke P. A timed semantics for a hierarchical design notation, PhD thesis, University of York, 1999Google Scholar
  25. 25.
    Dong J S, Hao P, Qin S C, et al. Timed patterns: TCOZ to timed automata. In: Proceesings of 6th International Conference on Formal Engineering Methods (ICFEM 2004). Springer, 2004, 483–498Google Scholar
  26. 26.
    Dong J S, Hao P, Sun J, et al. A reasoning method for timed CSP based on constraint solving. In: Proceesings of 8th International Conference on Formal Engineering Methods (ICFEM 2006). Springer, 2006, 342–359Google Scholar
  27. 27.
    Dong J S, Liu Y, Sun J, et al. Verification of computation orchestration via timed automata. In: Proceesings of 8th International Conference on Formal Engineering Methods (ICFEM 2006), 2006, 226–245Google Scholar
  28. 28.
    Sun J, Dong J S. Design synthesis from interaction and statebased specifications. IEEE Transactions on Software Engineering, 2006, 32(6): 349–364CrossRefGoogle Scholar
  29. 29.
    Biere A, Cimatti A, Clarke E M, et al. Symbolic model checking without BDDs. In: Proceesings of 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS’99). Springer, 1999, 193–207Google Scholar
  30. 30.
    Bryant R E, Lahiri S K, Seshia S A. Convergence testing in term-level bounded model checking. In: Proceesings of 12th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods (CHARME 2003), 2003, 348–362Google Scholar

Copyright information

© Higher Education Press and Springer-Verlag GmbH 2008

Authors and Affiliations

  1. 1.School of ComputingNational University of SingaporeSingaporeSingapore
  2. 2.Department of Computer ScienceThe University of AucklandAucklandNew Zealand

Personalised recommendations