Отримано 22.08.2025, Доопрацьовано 17.11.2025, Прийнято 23.12.2025

Нечіткий алгоритмічний аналіз надійності програмного забезпечення

Ганна Ракитянська, Богдан Прус

Актуальність дослідження зумовлена необхідністю розробки інтерпретабельних процесорієнтованих моделей, які дозволяють оцінити зростання функції надійності залежно від розподілу зусиль. Мета роботи полягала в моделюванні процесів, пов’язаних із внесенням, виявленням та виправленням помилок засобами алгебри алгоритмів та нечіткої логіки. Запропонована методологія аналізу надійності програмного забезпечення базувалася на теорії надійності алгоритмічних процесів. Логіко-алгоритмічна модель процесу розробки побудована на основі лінійної, альтернативної та ітеративної операторних структур. Послідовність робіт без зворотного зв’язку описана лінійною структурою. Етапи верифікації та валідації описані за допомогою альтернативної та ітеративної алгоритмічних структур. Процес перевірки та виправлення, коли виявлені помилки негайно усувалися, а нові помилки не вносилися, описано альтернативною структурою. Процес налагодження, під час якого можуть вноситись нові помилки, описано ітеративною структурою. Логіко-алгоритмічна модель у вигляді нечіткої бази знань дозволила проектувати програмне забезпечення з необхідними рівнями надійності та витрат, використовуючи покращувальні перетворення. Система нечітких логічних рівнянь пов’язувала рівні правильності робочих, контрольних та доробочних операцій з можливістю правильного виконання процесу розробки. Розподіл зусиль формалізовано за допомогою покращувальних підстановок, введених у логікоалгоритмічну модель. Керувальні змінні, пов’язані з покращувальними підстановками, інтерпретувалися як якість виконання робочих, контрольних та доробочних операцій. Запропонована нечітка модель надійності програмного забезпечення дозволила оцінити ризики процесу розробки на основі експертної та експериментальної інформації про надійність та часові характеристики етапів життєвого циклу. Нечітка модель була побудована шляхом перенесення надійних частин процесу розробки, отриманих з історій помилок та дефектів попередніх проєктів, у процес-орієнтовану модель надійності поточного проєкту. Розглянуто приклад аналізу надійності процесу розробки мобільного додатку для агрегації зображень, де впливовими факторами є безпомилкове виконання робочих, контрольних і доробочних операцій. Практичне значення дослідження полягає у створенні інструментарію, що дає змогу прогнозувати надійність програмного забезпечення на різних етапах його життєвого циклу, оптимізувати розподіл ресурсів між виявленням і виправленням помилок та зменшувати ризики невдалих рішень у проєктуванні і налагодженні

надійність програмного забезпечення; оцінка ризиків процесу розробки; розподіл зусиль; логіко-алгоритмічна модель; нечітка модель надійності
136-147
Rakytianska, H., & Prus, B. (2025). Fuzzy-algorithmic analysis of software reliability. Information Technologies and Computer Engineering, 22(3), 136-147. https://doi.org/10.31649/vitce/3.2025.136

Використані джерела

[1] Alnahdi, N., & Alnanih, R. (2024). A novel information model for software interface reliability in the software development life cycle. Procedia Computer Science, 251, 116-123. doi: 10.1016/j.procs.2024.11.091.

[2] Asif, M., & Ahmed, J. (2020). A novel case base reasoning and frequent pattern based decision support system for mitigating software risk factors. IEEE Access, 8, 102278-102291. doi: 10.1109/ACCESS.2020.2999036.

[3] Butt, S., Ur Rehman Khan, S., Hussain, S., & Wang, W.-L. (2023). A conceptual model supporting decision-making for test automation in Agile-based Software Development. Data & Knowledge Engineering, 144, article number 102111. doi: 10.1016/j.datak.2022.102111.

[4] Calinescu, R., Paterson, C., & Johnson, K. (2021). Efficient parametric model checking using domain knowledge. IEEE Transactions on Software Engineering, 47(6), 1114-1133. doi: 10.1109/TSE.2019.2912958.

[5] Chen, X., & Deng, Y. (2024). Evidential software risk assessment model on ordered frame of discernment. Expert Systems with Applications, 250, article number 123786. doi: 10.1016/j.eswa.2024.123786.

[6] Díaz, J., Pérez, J., Gallardo, C., & González-Prieto, A. (2023). Applying inter-rater reliability and agreement in collaborative Grounded Theory studies in software engineering. Journal of Systems and Software, 195, article number 111520. doi: 10.1016/j.jss.2022.111520.

[7] Doroshenko, A., Finin, G., & Tceitlin, G. (2004). Algebra-algorithmic basics of programming. Кyiv: Naukova Dumka.

[8] Duarte, B., de Almeida Falbo, R., Guizzardi, G., Guizzardi, R., & Silva Souza, V.E. (2021). An ontological analysis of software system anomalies and their associated risks. Data & Knowledge Engineering, 134, article number 101892. doi: 10.1016/j.datak.2021.101892.

[9] Ferreira, H., Nakagawa, Y., & Santos, P. (2023). Towards an understanding of reliability of software-intensive systems-of-systems. Information and Software Technology, 158, article number 107186. doi: 10.1016/j. infsof.2023.107186.

[10] Filippetto, A., Lima, R., Luis, J., & Barbosa, V. (2021). A risk prediction model for software project management based on similarity analysis of context histories. Information and Software Technology, 131, article number 106497.doi: 10.1016/j.infsof.2020.106497.

[11] Hanagal, D., & Bhalerao, N. (2021). Software reliability growth models. Singapore: Springer.

[12] Hovorushchenko, T. (2021). Method of the software risks management. In Proceedings of the 2nd international workshop on computational & information technologies for risk-informed systems (pp. 26-38). Kherson: CITR.

[13] Littlewood, B., Salako, K., Strigini, L., & Zhao, X. (2020). On reliability assessment when a software-based system is replaced by a thought-to-be-better one. Reliability Engineering & System Safety, 197, article number 106752. doi: 10.1016/j.ress.2019.106752.

[14] Macak, M., Daubner, L., Sani, F., & Buhnova, B. (2022). Process mining usage in cybersecurity and software reliability analysis: A systematic literature review. Array, 13, article number 100120. doi: 10.1016/j.array.2021.100120.

[15] Ouriques, R., Wnuk, K., Gorschek, T., & Svensson, B. (2023). The role of knowledge-based resources in Agile Software Development contexts. Journal of Systems and Software, 197, article number 111572. doi: 10.1016/j.jss.2022.111572.

[16] Pradhan, V., Kumar, A., & Dhar, J. (2023). Emerging trends and future directions in software reliability growth modeling. In H. Garg & M. Ram (Eds.), Advances in reliability science, engineering reliability and risk assessment (pp. 131-144). Amsterdam: Elsevier. doi: 10.1016/B978-0-323-91943-2.00011-3.

[17] Rajapaksha, D., Tantithamthavorn, C., Jiarpakdee, J., Bergmeir, C., Grundy, J., & Buntine, W. (2022). SQAPlanner: Generating data-informed software quality improvement plans. IEEE Transactions on Software Engineering, 48(8), 2814-2835. doi: 10.1109/TSE.2021.3070559.

[18] Rakytyanska, H., & Prus, B. (2024). Constructing prototype-based granular fuzzy rules for scene classification on mobile devices. In S. Babichev & V. Lytvynenko (Eds.), Lecture notes in data engineering, computational intelligence, and decision-making (pp. 194-218). Cham: Springer. doi: 10.1007/978-3-031-70959-3_10.

[19] Rotshtein, A., & Rakytyanska, H. (2012). Fuzzy evidence in identification, forecasting and diagnosis. Heidelberg: Springer.

[20] Rotshtein, A., Shtovba, S., & Kozachko, A. (2007). Modeling and optimization of multivariable algorithmic processes reliability. Vinnytsia: UNIVERSUM.

[21] Saaty, T.L. (1994). Fundamentals of decision making and priority theory with the analytic hierarchy process. Pittsburgh: RWS Publications.

[22] Samal, U., & Kumar, A. (2024). A software reliability model incorporating fault removal efficiency and it’s release policy. Computational Statistics, 39, 3137-3155. doi: 10.1007/s00180-023-01430-9.

[23] Samal, U., Kushwaha, S., Nain, G., Singh, S., Usmani, S., & Kumar, A. (2025). Chapter 14. Necessity of fuzzy logic: Trends in software reliability assessment. In A. Kumar, A.S. Bhandari & M. Ram (Eds.), Reliability assessment and optimization of complex systems (pp. 275-285).  Amsterdam: Elsevier. doi: 10.1016/B978-0-443-29112-8.00009-8.

[24] Sokol, O. (2025). Automation of error detection in code using machine learning. Bulletin of Cherkasy State Technological University, 30(1), 35-47. doi: 10.62660/bcstu/1.2025.35.

[25] Thieme, C., Mosleh, A., Utne, I., & Hegde, J. (2020). Incorporating software failure in risk analysis. Part 1: Software functional failure mode classification. Reliability Engineering & System Safety, 197, article number 106803. doi: 10.1016/j.ress.2020.106803.

[26] Yakovyna, V., & Symets, I. (2021). Reliability assessment of CubeSat nanosatellites flight software by high-order Markov chains. Procedia Computer Science, 192(C), 447-456. doi: 10.1016/j.procs.2021.08.046.