Fuzzy-algorithmic analysis of software reliability
Author
Rakytianska, Н.
Prus, В.
Ракитянська, Г.
Прус, Б.
Date
2025Metadata
Show full item recordCollections
Abstract
The relevance of the study was due to the need to develop interpretable process-oriented models that allow
assessing the growth of the reliability function depending on the distribution of efforts. The aim of the work was to
model the processes associated with introducing, detecting, and correcting errors using algorithmic algebra and fuzzy
logic. The proposed methodology for software reliability analysis was based on the theory of reliability of algorithmic
processes. The logical-algorithmic model of the development process was built on the basis of linear, alternative, and
iterative operator structures. The sequence of works without feedback is described by the linear structure. The verification
and validation stages were described using alternative and iterative algorithmic structures. The process of checking
and correction, when detected errors were immediately removed, and new errors were not introduced, was described by
the alternative structure. The debugging process, during which new errors might be introduced, was described by the
iterative structure. The logical-algorithmic model in the form of the fuzzy knowledge base made it possible to design
software with the required levels of reliability and cost using improving transformations. The system of fuzzy logical
equations connected the correctness levels of the working, checking, and correction operations with the possibility of
correct execution of the development process. The allocation of efforts was formalised by the improving substitutions
introduced in the logical-algorithmic model. The controllable variables associated with improving substitutions were
interpreted as the quality of execution of the working, checking, and correction operations. The proposed fuzzy model of
software reliability allows to assess the risks of the development process based on expert and experimental information
about the reliability and time characteristics of the life cycle stages. The model was constructed by transferring reliable
parts of the development process obtained from the histories of errors and defects of previous projects into a processoriented reliability model of the current project. The example of reliability analysis of the process of developing a mobile
application for image aggregation was considered, where the influencing factors are the error-free execution of working,
checking, and correction operations. The practical significance of the study lies in the development of a toolset that makes
it possible to predict software reliability at different stages of the life cycle, to optimise the allocation of resources between
error detection and correction, and to reduce the risks of unsuccessful decisions in design and debugging. Актуальність дослідження зумовлена необхідністю розробки інтерпретабельних процесорієнтованих моделей, які дозволяють оцінити зростання функції надійності залежно від розподілу зусиль.
Мета роботи полягала в моделюванні процесів, пов’язаних із внесенням, виявленням та виправленням помилок
засобами алгебри алгоритмів та нечіткої логіки. Запропонована методологія аналізу надійності програмного
забезпечення базувалася на теорії надійності алгоритмічних процесів. Логіко-алгоритмічна модель процесу
розробки побудована на основі лінійної, альтернативної та ітеративної операторних структур. Послідовність
робіт без зворотного зв’язку описана лінійною структурою. Етапи верифікації та валідації описані за допомогою
альтернативної та ітеративної алгоритмічних структур. Процес перевірки та виправлення, коли виявлені помилки
негайно усувалися, а нові помилки не вносилися, описано альтернативною структурою. Процес налагодження,
під час якого можуть вноситись нові помилки, описано ітеративною структурою. Логіко-алгоритмічна модель у
вигляді нечіткої бази знань дозволила проектувати програмне забезпечення з необхідними рівнями надійності
та витрат, використовуючи покращувальні перетворення. Система нечітких логічних рівнянь пов’язувала рівні
правильності робочих, контрольних та доробочних операцій з можливістю правильного виконання процесу
розробки. Розподіл зусиль формалізовано за допомогою покращувальних підстановок, введених у логікоалгоритмічну модель. Керувальні змінні, пов’язані з покращувальними підстановками, інтерпретувалися
як якість виконання робочих, контрольних та доробочних операцій. Запропонована нечітка модель
надійності програмного забезпечення дозволила оцінити ризики процесу розробки на основі експертної та
експериментальної інформації про надійність та часові характеристики етапів життєвого циклу. Нечітка модель
була побудована шляхом перенесення надійних частин процесу розробки, отриманих з історій помилок та
дефектів попередніх проєктів, у процес-орієнтовану модель надійності поточного проєкту. Розглянуто приклад
аналізу надійності процесу розробки мобільного додатку для агрегації зображень, де впливовими факторами
є безпомилкове виконання робочих, контрольних і доробочних операцій. Практичне значення дослідження
полягає у створенні інструментарію, що дає змогу прогнозувати надійність програмного забезпечення на різних
етапах його життєвого циклу, оптимізувати розподіл ресурсів між виявленням і виправленням помилок та
зменшувати ризики невдалих рішень у проєктуванні і налагодженні.
URI:
https://ir.lib.vntu.edu.ua//handle/123456789/50532

