Skip to main content

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

  • Conference paper
  • First Online:

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

Abstract

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Sommerville, I.: Software Engineering, 9th edn. Addison-Wesley, Wokingham/Reading (2010)

    MATH  Google Scholar 

  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. 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. 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. 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)

    Article  Google Scholar 

  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. 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)

    Article  Google Scholar 

  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. 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)

    Article  Google Scholar 

  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. 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. 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. 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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Denis V. Gruzenkin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Tsarev, R.Y., Gruzenkin, D.V., Grishina, G.V. (2019). Recursive Algorithm for Exhaustive Search of Possible Multiversion Software Realizations with the Choice of the Optimal Versions Set. In: Silhavy, R. (eds) Software Engineering and Algorithms in Intelligent Systems. CSOC2018 2018. Advances in Intelligent Systems and Computing, vol 763. Springer, Cham. https://doi.org/10.1007/978-3-319-91186-1_4

Download citation

Publish with us

Policies and ethics