Compositional Reverification of Probabilistic Safety Properties for Large-Scale Complex IT Systems

  • Radu Calinescu
  • Shinji Kikuchi
  • Kenneth Johnson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7539)

Abstract

Compositional verification has long been regarded as an effective technique for extending the use of symbolic model checking to large, component-based systems. This paper explores the effectiveness of the technique for large-scale complex IT systems (LSCITS). In particular, we investigate how compositional verification can be used to reverify LSCITS safety properties efficiently after the frequent changes that characterise these systems. We identify several LSCITS change patterns—including component failure, join and choice—and propose an approach that uses assume-guarantee compositional verification to reverify probabilistic safety properties compositionally in scenarios associated with these patterns. The application of this approach is illustrated using a case study from the area of cloud computing.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    de Alfaro, L., Henzinger, T.A.: Interface automata. SIGSOFT Softw. Eng. Notes 26(5), 109–120 (2001), http://doi.acm.org/10.1145/503271.503226 CrossRefGoogle Scholar
  2. 2.
    Berezin, S., Campos, S.V.A., Clarke, E.M.: Compositional Reasoning in Model Checking. In: de Roever, W.-P., Langmaack, H., Pnueli, A. (eds.) COMPOS 1997. LNCS, vol. 1536, pp. 81–102. Springer, Heidelberg (1998), http://dl.acm.org/citation.cfm?id=646738.701964 CrossRefGoogle Scholar
  3. 3.
    Blundell, C., Giannakopoulou, D., Pasareanu, C.S.: Assume-guarantee testing. ACM SIGSOFT Software Engineering Notes 31(2) (2006)Google Scholar
  4. 4.
    Calinescu, R.: General-purpose autonomic computing. In: Denko, M., et al. (eds.) Autonomic Computing and Networking, pp. 3–30. Springer (2009)Google Scholar
  5. 5.
    Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Communications of the ACM (September 2012)Google Scholar
  6. 6.
    Calinescu, R., Grunske, L., Kwiatkowska, M., Mirandola, R., Tamburrelli, G.: Dynamic QoS management and optimization in service-based systems. IEEE Transactions on Software Engineering 37, 387–409 (2011)CrossRefGoogle Scholar
  7. 7.
    Calinescu, R., Johnson, K., Rafiq, Y.: Using observation ageing to improve Markovian model learning in QoS engineering. In: Proceedings 2nd ACM/SPEC International Conference on Performance Engineering, pp. 505–510 (2011)Google Scholar
  8. 8.
    Calinescu, R., Kikuchi, S., Kwiatkowska, M.: Formal methods for the development and verification of autonomic IT systems. In: Cong-Vinh, P. (ed.) Formal and Practical Aspects of Autonomic Computing and Networking: Specification, Development and Verification, pp. 1–37. IGI Global (2012)Google Scholar
  9. 9.
    Calinescu, R., Kwiatkowska, M.: Software Engineering Techniques for the Development of Systems of Systems. In: Choppy, C., Sokolsky, O. (eds.) Monterey Workshop 2008. LNCS, vol. 6028, pp. 59–82. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  10. 10.
    Calinescu, R., Kikuchi, S.: Formal Methods @ Runtime. In: Calinescu, R., Jackson, E. (eds.) Monterey Workshop 2010. LNCS, vol. 6662, pp. 122–135. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  11. 11.
    Calinescu, R., Kwiatkowska, M.: CADS*: Computer-Aided Development of Self-* Systems. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 421–424. Springer, Heidelberg (2009), http://qav.comlab.ox.ac.uk/papers/fase09.pdf CrossRefGoogle Scholar
  12. 12.
    Calinescu, R., Kwiatkowska, M.Z.: Using quantitative analysis to implement autonomic IT systems. In: 31st International Conference on Software Engineering, pp. 100–110 (2009), http://dx.doi.org/10.1109/ICSE.2009.5070512
  13. 13.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press (1999)Google Scholar
  14. 14.
    Clarke, E.M., Long, D.E., McMillan, K.: Compositional model checking. In: Proc. 4th Intl. Symp. Logic in Computer Science, pp. 353–362 (1989), http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=39190
  15. 15.
    Cobleigh, J.M., Giannakopoulou, D., Păsăreanu, C.S.: Learning Assumptions for Compositional Verification. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 331–346. Springer, Heidelberg (2003), http://dl.acm.org/citation.cfm?id=1765871.1765903 CrossRefGoogle Scholar
  16. 16.
    Dikaiakos, M.D., Katsaros, D., Mehra, P., Pallis, G., Vakali, A.: Cloud computing: Distributed internet computing for it and scientific research. IEEE Internet Computing 13(5), 10–13 (2009)CrossRefGoogle Scholar
  17. 17.
    Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by run-time adaptation. In: Proceedings of the 31st International Conference on Software Engineering, pp. 111–121. IEEE Computer Society (2009)Google Scholar
  18. 18.
    Etessami, K., Kwiatkowska, M., Vardi, M.Y., Yannakakis, M.: Multi-objective Model Checking of Markov Decision Processes. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 50–65. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  19. 19.
    Feng, L., Kwiatkowska, M.Z., Parker, D.: Automated Learning of Probabilistic Assumptions for Compositional Reasoning. In: Giannakopoulou, D., Orejas, F. (eds.) FASE 2011. LNCS, vol. 6603, pp. 2–17. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  20. 20.
    Filieri, A., Ghezzi, C., Tamburrelli, G.: A formal approach to adaptive software: continuous assurance of non-functional requirements. Formal Asp. Comput. 24(2), 163–186 (2012)MathSciNetCrossRefGoogle Scholar
  21. 21.
    Grumberg, O., Long, D.E.: Model checking and modular verification. ACM Trans. Program. Lang. Syst. 16(3), 843–871 (1994), http://doi.acm.org/10.1145/177492.177725 CrossRefGoogle Scholar
  22. 22.
    Hinton, A., Kwiatkowska, M., Norman, G., Parker, D.: PRISM: A Tool for Automatic Verification of Probabilistic Systems. In: Hermanns, H. (ed.) TACAS 2006. LNCS, vol. 3920, pp. 441–444. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  23. 23.
    Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969), http://doi.acm.org/10.1145/363235.363259 MATHCrossRefGoogle Scholar
  24. 24.
    Inverardi, P., Patrizio, Tivoli, M.: Towards an assume-guarantee theory for adaptable systems. In: Proceedings of the Software Engineering for Adaptive and Self-Managing Systems Workshop (SEAMS), pp. 106–115 (2009)Google Scholar
  25. 25.
    Kesten, Y., Pnueli, A.: A compositional approach to ctl* verification. Theor. Comput. Sci. 331(2-3), 397–428 (2005), http://dx.doi.org/10.1016/j.tcs.2004.09.023 MathSciNetMATHCrossRefGoogle Scholar
  26. 26.
    Kwiatkowska, M., Norman, G., Parker, D.: PRISM 4.0: Verification of Probabilistic Real-Time Systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 585–591. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  27. 27.
    Kwiatkowska, M., Norman, G., Parker, D., Qu, H.: Assume-Guarantee Verification for Probabilistic Systems. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 23–37. Springer, Heidelberg (2010), http://qav.cs.ox.ac.uk/bibitem.php?key=KNPQ10 CrossRefGoogle Scholar
  28. 28.
    Northrop, L., et al.: Ultra-large-scale systems - the software challenge of the future. Tech. rep., Software Engineering Institute, Carnegie Mellon University (June 2006)Google Scholar
  29. 29.
    Pnueli, A.: In transition from global to modular temporal reasoning about programs. In: Apt, K.R. (ed.) Logics and Models of Concurrent Systems, pp. 123–144. Springer-Verlag New York, Inc., New York (1985), http://dl.acm.org/citation.cfm?id=101969.101977 CrossRefGoogle Scholar
  30. 30.
    Segala, R., Lynch, N.A.: Probabilistic simulations for probabilistic processes. Nord. J. Comput. 2(2), 250–273 (1995)MathSciNetMATHGoogle Scholar
  31. 31.
    Sommerville, I., Cliff, D., Calinescu, R., Keen, J., Kelly, T., Kwiatkowska, M., McDermid, J., Paige, R.: Large-scale complex IT systems. Communications of the ACM 55(7), 71–77 (2012)CrossRefGoogle Scholar
  32. 32.
  33. 33.
    Tordsson, J., Montero, R.S., Moreno-Vozmediano, R., Llorente, I.M.: Cloud brokering mechanisms for optimized placement of virtual machines across multiple providers. Future Generation Computer Systems 28(2), 358–367 (2012)CrossRefGoogle Scholar
  34. 34.
    Vishwanath, K.V., Nagappan, N.: Characterizing cloud computing hardware reliability. In: Proceedings of the 1st ACM Symposium on Cloud Computing, SoCC 2010, pp. 193–204. ACM, New York (2010), http://doi.acm.org/10.1145/1807128.1807161 CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Radu Calinescu
    • 1
  • Shinji Kikuchi
    • 2
  • Kenneth Johnson
    • 1
  1. 1.Department of Computer ScienceUniversity of YorkYorkUK
  2. 2.Fujitsu Laboratories LimitedKawasakiJapan

Personalised recommendations