Анализ эффективности принятия решений в мультиверсионном программировании

Описание

Тип публикации: статья из журнала

Год издания: 2025

Идентификатор DOI: 10.47813/2782-5280-2025-4-3-4014-4027

Ключевые слова: multiversion programming, decision making, voting algorithm, reliability, software, мультиверсионное программирование, принятие решений, алгоритм голосования, надежность, программное обеспечение

Аннотация: В статье рассмотрен анализ эффективности алгоритмов принятия решений в мультиверсионном (N-версионном) программировании, обеспечивающем повышение надежности программных систем за счёт параллельного выполнения нескольких функционально эквивалентных, но независимо разработанных версий программного обеспечения. Особое внимание уделеноПоказать полностьюсравнению традиционных алгоритмов голосования: мажоритарного, согласованного большинства, взвешенного и медианного голосования, а также нечетких и биоинспирированных методов, включая алгоритм муравьиной колонии. Эффективность каждого алгоритма оценена с учётом вероятности ошибок в модулях и межверсионных ошибок с помощью математического моделирования и экспериментального имитационного анализа с использованием специально разработанной программной платформы. Полученные результаты выявляют зависимость надежности мультиверсионной системы от выбранного алгоритма и условий его применения. Показано, что оптимальным для высоконадежных модулей является голосование абсолютным большинством, тогда как в условиях большого количества ошибок, включая межверсионные, предпочтительны взвешенное и медианное голосование. Обсуждаются проблемные аспекты принятия решений, в частности, ложный консенсус и сходство ошибок, а также перспективные направления развития на базе интеграции методов машинного обучения для адаптивного принятия решений, генерация версий с помощью языковых моделей и применение технологии блокчейн. В заключение подчёркивается необходимость балансирования надёжности, затрат и сложности реализации мультиверсионных систем, что определяет актуальность дальнейших исследований в этой области. The article presents an analysis of the effectiveness of decision-making algorithms in multiversion (N-version) programming, a technique designed to enhance the reliability of software systems by executing multiple functionally equivalent but independently developed software versions in parallel. The focus is on comparing traditional voting algorithms, including majority voting, consensus majority, weighted voting, and median voting, as well as fuzzy and bio-inspired approaches, such as the ant colony algorithm. The effectiveness of each algorithm is evaluated considering both module error probabilities and inter-version errors through mathematical modeling and experimental simulation analysis using a specially developed software platform. The results reveal that system reliability in a multiversion environment depends on the selected algorithm and the conditions of its application. For highly reliable modules, absolute majority voting is shown to be optimal, whereas weighted and median voting methods are preferred under high error rates, especially when inter-version errors are present. The article also discusses key issues in decision-making, such as false consensus and error similarity, and outlines promising directions for future development. These include integrating machine learning methods for adaptive decision-making, automatic version generation using language models, and the application of blockchain technology. The conclusion emphasizes the necessity of balancing reliability, cost, and implementation complexity in multiversion systems, underscoring the continued relevance of research in this evolving field.

Ссылки на полный текст

Издание

Журнал: Информатика. Экономика. Управление

Выпуск журнала: Т. 4, 3

Номера страниц: 4014-4027

ISSN журнала: 27825280

Место издания: Красноярск

Издатель: Красноярский государственный аграрный университет, ООО "Сибирский научный центр ДНИТ"

Персоны

  • Торгашин А.А. (Сибирский федеральный университет)
  • Ковалев Д.И. (Красноярский государственный аграрный университет)

Вхождение в базы данных