Recursive Algorithm for Exhaustive Search of Possible Multiversion Software Realizations with the Choice of the Optimal Versions Set

Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 763)


N-version software is used all over the world as one of the approaches that can provide with the high level of reliability and software fault tolerance. The application of redundant module versions of software allows to obtain a correct result even if there is an error in the separate module versions. However, the program redundancy that can increase software reliability needs extra resources. It results in an optimization problem. There is a necessity for a certain variant of multiversion software realization i.e. such a modules versions set is required that demands less resources and guarantees high level of reliability simultaneously. The exhaustive search of all possible multiversion software realizations is carried out by the recursive algorithm proposed in the article.


Multiversion software N-version software Reliability Optimization Exhaustive search Recursion Recursive algorithm 


  1. 1.
    Sommerville, I.: Software Engineering, 9th edn. Addison-Wesley, Wokingham/Reading (2010)zbMATHGoogle Scholar
  2. 2.
    Avizienis, A., Chen, L.: On the implementation of N-version programming for software fault-tolerance during program execution. In: Proceedings of the IEEE Computer Society International Conference on Computers, Software and Applications, COMPSAC 1977, pp. 149–155 (1977)Google Scholar
  3. 3.
    Gruzenkin, D.V., Chernigovskiy, A.S., Tsarev, R.Y.: N-version software module requirements to grant the software execution fault-tolerance. Adv. Intell. Syst. Comput. 661, 293–303 (2018)Google Scholar
  4. 4.
    Randell, B., Jie, X.: The evolution of the recovery block concept. In: Lyu, M.R. (ed.) Software Fault Tolerance, pp. 1–21. Wiley (1995)Google Scholar
  5. 5.
    Kaur, R., Arora, S., Jha, P.C., Madan, S.: Fuzzy multi-criteria approach for component selection of fault tolerant software system under Consensus Recovery Block Scheme. Procedia Comput. Sci. 45(C), 842–851 (2015)CrossRefGoogle Scholar
  6. 6.
    Kulyagin, V.A., Tsarev, R.Y., Prokopenko, A.V., Nikiforov, A.Y., Kovalev, I.V.: N-version design of fault-tolerant control software for communications satellite system. In: 2015 International Siberian Conference on Control and Communications, SIBCON 2015 - Proceedings, Article no 7147116 (2015)Google Scholar
  7. 7.
    Eriş, O., Yildirim, U., Durmuş, M.S., Söylemez, M.T., Kurtulan, S.: N-version programming for railway interlocking systems: Synchronization and voting strategy. In: IFAC Proceedings Volumes (IFAC-PapersOnline), pp. 177–180 (2012)CrossRefGoogle Scholar
  8. 8.
    Malaika, M., Nair, S., Coyle, F.: N-version architectural framework for application security automation (NVASA). CrossTalk 27(5), 30–34 (2014)Google Scholar
  9. 9.
    Hussain, A., Aslam, M., Arif, S.M.: N-version programming-based protection scheme for microgrids: a multi-agent system based approach. Sustain. Energy Grids Netw. 6, 35–45 (2016)CrossRefGoogle Scholar
  10. 10.
    Peng, K.-L., Huang, C.-Y., Wang, P.-H., Hsu, C.-J.: Enhanced N-version programming and recovery block techniques for web service systems. In: International Workshop on Innovative Software Development Methodologies and Practices, InnoSWDev 2014 - Proceedings, pp. 11–20 (2014)Google Scholar
  11. 11.
    Durmuş, M.S., Eriş, O., Yildirim, U., Söylemez, M.T.: A new voting strategy in Diverse programming for railway interlocking systems. In: Proceedings 2011 International Conference on Transportation, Mechanical, and Electrical Engineering, TMEE 2011, Article no 6199304, pp. 723–726 (2011)Google Scholar
  12. 12.
    Rezaee, M., Sedaghat, Y., Farmad, M.K.: A confidence-based software voter for safety-critical systems. In: Proceedings - 2014 World Ubiquitous Science Congress: 2014 IEEE 12th International Conference on Dependable, Autonomic and Secure Computing, DASC 2014, Article no 6945688, pp. 196–201 (2014)Google Scholar
  13. 13.
    Gruzenkin, D.V., Grishina, G.V., Durmuş, M.S., Üstoǧlu, I., Tsarev, R.Y.: Compensation model of multi-attribute decision making and its application to N-version software choice. Adv. Intell. Syst. Comput. 575, 148–157 (2017)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Siberian Federal UniversityKrasnoyarskRussia

Personalised recommendations