Advertisement

Verification of Component-Based Systems via Predicate Abstraction and Simultaneous Set Reduction

  • Wang QiangEmail author
  • Simon Bliudze
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9533)

Abstract

This paper presents a novel safety property verification approach for component-based systems modelled in BIP (Behaviour, Interaction and Priority), encompassing multiparty synchronisation with data transfer and priority. Our contributions consist of: (1) an on-the-fly lazy predicate abstraction technique for BIP; (2) a novel explicit state reduction technique, called simultaneous set reduction, that can be combined with lazy predicate abstraction to prune the search space of abstract reachability analysis; (3) a prototype tool implementing all the proposed techniques. We also conduct thorough experimental evaluation, which demonstrates the effectiveness of our proposed approach.

Notes

Acknowledgements

We want to thank Alessandro Cimatti, Marco Roveri and Sergio Mover for the instructive guidance during our collaboration that enabled this work and for their help with the nuXmv model checker and the MathSAT SMT solver, and all the anonymous reviewers for their careful reading of the paper.

References

  1. 1.
    Baier, C., Katoen, J.P.: Principles of Model Checking. The MIT Press, Cambridge (2008)zbMATHGoogle Scholar
  2. 2.
    Basu, A., Bensalem, S., Bozga, M., Combaz, J., Jaber, M., Nguyen, T.H., Sifakis, J.: Rigorous component-based system design using the BIP framework. Softw. IEEE 28, 41–48 (2011)CrossRefGoogle Scholar
  3. 3.
    Behrmann, G., David, A., Larsen, K.G., Håkansson, J., Pettersson, P., Yi, W., Hendriks, M.: UPPAAL 4.0. In: QEST (2006)Google Scholar
  4. 4.
    Bensalem, S., Bozga, M., Nguyen, T.-H., Sifakis, J.: D-Finder: a tool for compositional deadlock detection and verification. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 614–619. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  5. 5.
    Bliudze, S., Cimatti, A., Jaber, M., Mover, S., Roveri, M., Saab, W., Wang, Q.: Formal verification of infinite-state BIP models. In: Finkbeiner, B., et al. (eds.) ATVA 2015. LNCS, vol. 9364, pp. 326–343. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-24953-7_25 CrossRefGoogle Scholar
  6. 6.
    Gheorghiu Bobaru, M., Păsăreanu, C.S., Giannakopoulou, D.: Automated assume-guarantee reasoning by abstraction refinement. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 135–148. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Boussinot, F.: FairThreads: mixing cooperative and preemptive threads in C. Concur. Comput. Pract. Exp. 18, 445–469 (2006)CrossRefGoogle Scholar
  8. 8.
    Cimatti, A., Narasamdya, I., Roveri, M.: Software model checking with explicit scheduler and symbolic threads. Log. Methods Comput. Sci. 8, 1–42 (2012)CrossRefMathSciNetzbMATHGoogle Scholar
  9. 9.
    Cimatti, A., Narasamdya, I., Roveri, M.: Verification of parametric system designs. In: FMCAD (2012)Google Scholar
  10. 10.
    Clarke Jr., E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  11. 11.
    Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem. Lecture Notes in Computer Science, vol. 1032. Springer, Heidelberg (1996)zbMATHGoogle Scholar
  12. 12.
    Guerraoui, R., Kuncak, V., Losa, G.: Speculative linearizability. In: PLDI (2012)Google Scholar
  13. 13.
    Gupta, A., Popeea, C., Rybalchenko, A.: Predicate abstraction and refinement for verifying multi-threaded programs. In: POPL (2011)Google Scholar
  14. 14.
    He, F., Yin, L., Wang, B.-Y., Zhang, L., Mu, G., Meng, W.: VCS: a verifier for component-based systems. In: Van Hung, D., Ogawa, M. (eds.) ATVA 2013. LNCS, vol. 8172, pp. 478–481. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  15. 15.
    Henzinger, T.A., Jhala, R., Majumdar, R., McMillan, K.L.: Abstractions from proofs. In: ACM SIGPLAN Notices. ACM (2004)Google Scholar
  16. 16.
    Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Lazy abstraction. In: POPL (2002)Google Scholar
  17. 17.
    Hojjat, H., Konecný, F., Garnier, F., Iosif, R., Kuncak, V., Rümmer, P.: A verification toolkit for numerical transition systems - tool paper. In: FM (2012)Google Scholar
  18. 18.
    Hojjat, H., Rümmer, P., Subotic, P., Yi, W.: Horn clauses for communicating timed systems. In: HCVS (2014)Google Scholar
  19. 19.
    Lipton, R.J.: Reduction: a method of proving properties of parallel programs. Commun. ACM 18, 717–721 (1975)CrossRefMathSciNetzbMATHGoogle Scholar
  20. 20.
    IEEE 1666: SystemC language Reference Manual (2005)Google Scholar
  21. 21.
    Popeea, C., Rybalchenko, A., Wilhelm, A.: Reduction for compositional verification of multi-threaded programs. In: FMCAD (2014)Google Scholar
  22. 22.
    Sifakis, J.: Rigorous system design. In: Foundations and Trends in Electronic Design Automation (2013)Google Scholar
  23. 23.
    Su, C., Zhou, M., Yin, L., Wan, H., Gu, M.: Modeling and verification of component-based systems with data passing using BIP. In: ICECCS (2013)Google Scholar
  24. 24.
    Wachter, B., Kroening, D., Ouaknine, J.: Verifying multi-threaded software with Impact. In: FMCAD (2013)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.École Polytechnique Fédérale de LausanneLausanneSwitzerland

Personalised recommendations