
Algorithm diversity metric for N-version software
Author(s) -
Denis V. Gruzenkin,
I. A. Yakimov,
А. С. Кузнецов,
Roman Tsarev,
Galina Viktorovna Grishina,
Alexander Pupkov,
Н. В. Быстрова
Publication year - 2019
Publication title -
journal of physics. conference series
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.21
H-Index - 85
eISSN - 1742-6596
pISSN - 1742-6588
DOI - 10.1088/1742-6596/1333/3/032086
Subject(s) - computer science , software , algorithm , sorting , software metric , metric (unit) , trace (psycholinguistics) , software quality , sorting algorithm , set (abstract data type) , diversification (marketing strategy) , theoretical computer science , software development , programming language , linguistics , operations management , philosophy , business , marketing , economics
Software reliability and fault tolerance are in the list of the primary importance tasks to be solved in industrial applications. N-version programming is one of the approaches contributing to the solution. This approach implies the realization of a set of software modules versions. The effectiveness of the approach is obtained by the modules versions diversification: the higher the diversification than higher the reliability. The subject matter of the article is the difference between the software modules versions at the level of algorithms, i.e. the version diversification. The hypothesis about the quantitative metric that defines the differences between programs is verified by the experiment results. The experiment was dedicated to the analysis of several realizations of program algorithms for inner sorting of numerical arrays. There was an execution trace for each algorithm and it reflected the way of algorithm operation in multidimensional space. The analysis that was held on the basis of the suggested concept about the obtained execution traces of implemented algorithms discovers both the differences between algorithms and the similarities between the modifications of the same algorithm.