Distributed Analysis of the BMC Kind: Making It Fit the Tornado Supercomputer

  • Azat Abdullin
  • Daniil Stepanov
  • Marat AkhinEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 779)


Software analysis is becoming increasingly important as a way of software quality assurance. Most works in this area focus their attention on a single machine scenario, when the analysis is run and implemented on a single processing node, as it seems to be a good fit for the current software development methodologies. We argue that in some cases it is reasonable to employ high performance computing (HPC) to do software analysis, if the performance impact is worth the increase in computational requirements. In this paper we present our experience with the implementation of a HPC version of the bounded model checker Borealis, major problems we encountered together with their solutions, and the evaluation results on a number of different real-world projects.


Bounded model checking High performance computing Distributed computing Supercomputing 


  1. 1.
    Calcagno, C., Distefano, D., Dubreil, J., Gabi, D., Hooimeijer, P., Luca, M., O’Hearn, P., Papakonstantinou, I., Purbrick, J., Rodriguez, D.: Moving fast with software verification. In: Havelund, K., Holzmann, G., Joshi, R. (eds.) NFM 2015. LNCS, vol. 9058, pp. 3–11. Springer, Cham (2015). Google Scholar
  2. 2.
    Ayewah, N., Hovemeyer, D., Davidmorgenthaler, J., Penix, J., Pugh, W.: Experiences using static analysis to find bugs. IEEE Softw. 25, 22–29 (2008)CrossRefGoogle Scholar
  3. 3.
    Akhin, M., Belyaev, M., Itsykson, V.: Software defect detection by combining bounded model checking and approximations of functions. Autom. Control Comput. Sci. 48(7), 389–397 (2014)CrossRefGoogle Scholar
  4. 4.
    Akhin, M., Belyaev, M., Itsykson, V.: Borealis bounded model checker: the coming of age story. In: Meyer, B., Mazzara, M. (eds.) PAUSE: Present And Ulterior Software Engineering. Springer, Cham (2017)Google Scholar
  5. 5.
    The TOP500 project. Polytechnic RSC Tornado (2016), Accessed 22 Dec 2016
  6. 6.
    Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without BDDs. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 193–207. Springer, Heidelberg (1999). CrossRefGoogle Scholar
  7. 7.
    Lattner, C., Adve, V.: LLVM: a compilation framework for lifelong program analysis & transformation. In: CGO 2004, pp. 75–86 (2004)Google Scholar
  8. 8.
    Jones, P.A.: The Lustre filesystem (2016), Accessed 26 Dec 2016
  9. 9.
    Karger, D., Lehman, E., Leighton, T., Panigrahy, R., Levine, M., Lewin, D.: Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the world wide web. In: STOC 1997, pp. 654–663 (1997)Google Scholar
  10. 10.
    Lusk, E., Huss, S., Saphir, B., Snir, M.: MPI: A message-passing interface standard, 4 June 2015 (2015)Google Scholar
  11. 11.
    Artemiev, S.S., Korneev, V.D.: Numerical solution of stochastic differential equations on supercomputers. Numer. Anal. Appl. 4(1), 1–11 (2011)CrossRefGoogle Scholar
  12. 12.
    Zhukovskii, M.E., Uskov, R.V.: Hybrid paralleling of the algorithms of radiation cascade transport modelling. Matematicheskoe Modelirovanie 27(5), 39–51 (2015)zbMATHGoogle Scholar
  13. 13.
    Szpakowski, A., Pustelny, T.: Parallel implementation of the concurrent algorithm for acoustic field distribution calculating in heterogeneous HPC environment. J. Phys. IV (Proc.) 137, 153–156 (2006). EDP SciencesGoogle Scholar
  14. 14.
    Avdyushenko, A.Y., Cherny, S.G., Astrakova, A.S., Chirkov, D.V., Lyutov, A.: High-perfomance computations in problems of simulation and optimization of turbine hydrodynamics (2013)Google Scholar
  15. 15.
    Getmanskiy, V.V., Gorobtsov, A.S., Ismailov, T.D., Andreev, A.E.: Heuristic method of dynamic stress analysis in multibody simulation using HPC. In: WCCM’XI, pp. 3115–3124 (2014)Google Scholar
  16. 16.
    Teplukhin, A.V.: Parallel and distributed computing in problems of supercomputer simulation of molecular liquids by the Monte Carlo method. J. Struct. Chem. 54(1), 65–74 (2013)CrossRefGoogle Scholar
  17. 17.
    Aiken, A., Bugrara, S., Dillig, I., Dillig, T., Hackett, B., Hawkins, P.: An overview of the Saturn project. In: PASTE 2007, pp. 43–48 (2007)Google Scholar
  18. 18.
    Barnat, J., Brim, L., Černá, I., Moravec, P., Ročkai, P., Šimeček, P.: DiVinE – a tool for distributed verification. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 278–281. Springer, Heidelberg (2006). CrossRefGoogle Scholar
  19. 19.
    Garavel, H., Mateescu, R., Bergamini, D., Curic, A., Descoubes, N., Joubert, C., Smarandache-Sturm, I., Stragier, G.: DISTRIBUTOR and BCG_MERGE: tools for distributed explicit state space generation. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 445–449. Springer, Heidelberg (2006). CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  1. 1.Peter the Great Saint Petersburg Polytechnic UniversitySt. PetersburgRussia

Personalised recommendations