Test tasks analysis of fault-tolerant software system multiversion formation
Authors: Ковалев И.В. , Ковалев Д.И. , Амбросенко Н.Д. , Боровинский Д.В. 
Published: July 2024

Актуальность исследования обусловлена современными требованиями к надежности функционирования программных систем критических приложений. Авторами развивается подход, базирующийся на современной информационной технологии мультиверсионного формирования высоконадежных программных систем. В статье проведен анализ тестовых задач мультиверсионного формирования отказоустойчивых программных систем, выполненный на базе алгоритмов муравьиной колонии, включая стандартный и модифицированный алгоритмы. В работе программная система определяется заданным набором программных модулей, соединенных определенным образом и образующих граф переходов с вероятностями перехода. Причем исполнение каждого модуля является мультиверсионным, то есть модуль включает несколько версий, каждая из которых характеризуется значением надежности и стоимости исполнения. В результате, совокупность выбранных для исполнения версий в модуле определяет его надежность и стоимость, а благодаря наличию графа программы мы имеем возможность вычислить надежность и стоимость всей программной системы. Условия задачи включают ограничения, накладываемые на надежность и стоимость итогового решения. При анализе использовалась заданная схема программной системы, учитывался долговременный режим реализации программных функций и возможность изменения структуры программы в процессе ее реализации. Показано, что использование модифицированного алгоритма дает нам преимущество не только в качестве значения целевой функции, но и в скорости улучшения этого решения, что особенно важно для практики при реализации программных систем в режиме реального времени.
The relevance of the study is due to the modern requirements for the operational reliability of software systems for critical applications. The authors develop an approach based on modern information technology of highly reliable software system multiversion formation. The paper analyzes test tasks of fault-tolerant software system multiversion formation with the aid of ant colony algorithms including standard and modified algorithms. In this article, a software system is defined by a predefined set of software modules connected in a particular way and forming a transition graph with transition probabilities. Moreover, the execution of each module is multiversional, in other words, the module is comprised of several versions with each one characterized by the value of reliability and cost of execution. As a result, the set of versions, selected for execution in the module, determines its reliability and cost, and, owing to the presence of the program graph, we are able to calculate the reliability and cost of the entire software system. The conditions of the problem feature restrictions on the reliability and cost of the final solution. A predefined scheme of the software system was used in the analysis, taking into account the long-term mode of program functions implementation and the capacity to change program structure in the process of its implementation. It is shown that the employment of the modified algorithm provides an advantage not only in the quality of the objective function value, but also in the speed of improving this solution, which is especially important for practical purposes when implementing software systems in real time.