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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Sommerville, I.: Software Engineering, 9th edn. Addison-Wesley, Wokingham/Reading (2010)
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)
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)
Randell, B., Jie, X.: The evolution of the recovery block concept. In: Lyu, M.R. (ed.) Software Fault Tolerance, pp. 1–21. Wiley (1995)
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)
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)
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)
Malaika, M., Nair, S., Coyle, F.: N-version architectural framework for application security automation (NVASA). CrossTalk 27(5), 30–34 (2014)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer International Publishing AG, part of Springer Nature
About this paper
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
DOI: https://doi.org/10.1007/978-3-319-91186-1_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-91185-4
Online ISBN: 978-3-319-91186-1
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)