Метод автоматизації процесу розрахунку показників надійності програмних систем та їх компонентів

https://doi.org/https://doi.org/10.23939/ujit2024.01.001
Надіслано: Квітень 18, 2024
Прийнято: Квітень 30, 2024

Цитування за ДСТУ: Сенів М. М. Метод автоматизації процесу розрахунку показників надійності програмних систем  та їх компонентів. Український журнал інформаційних технологій. 2024, т. 6, № 1. С. 01-08.
Citation APA: Seniv M. M. (2024). A method of automating the process of calculating reliability indicators of software systems and their components. Ukrainian Journal of Information Tecnology, 6(1), 01-08. https://doi.org/10.23939/ujit2024.01.01.001

Автори:
1
Національний університет «Львівська політехніка», кафедра програмного забезпечення

Проаналізовано існуючі засоби розрахунку показників надійності програмних систем. Встановлено, що для визначення показників надійності програмних систем доцільно використовувати структурно – логічний аналіз блок-схем надійності, оскільки він наочно та найбільш адекватно відображає процес розрахунку показників надійності програмної системи загалом та її компонентів зокрема. Не зважаючи на зовнішню простоту такого аналізу, його проведення не є тривіальною задачею, адже навіть побудова умови працездатності технічної системи є непростим завданням, особливо у випадку наявності багатьох елементів з різноплановими зв'язками між ними, при розв'язанні якої вручну існує дуже велика ймовірність людської помилки. Також побудова та візуалізація графа станів/переходів є нетривіальною задачею, оскільки кількість можливих станів програмної системи залежно від кількості елементів зростає експоненційно, та, своєю чергою збільшує складність системи диференціальних рівнянь, розв'язок якої дає змогу розрахувати необхідні показники надійності. Визначено, що процес надійнісного проектування складних програмних систем загалом, та їх компонентів зокрема, потребує автоматизації усіх його етапів, починаючи від складання блок-схеми надійності (reliability block diagram, RBD), і закінчуючи візуалізацією отриманих результатів. Розроблено метод автоматизації процесу розрахунку показників надійності програмних систем та їх компонентів, який складається з восьми кроків, та, на відміну від існуючих, дає змогу проектанту інтуїтивно зрозуміло вводити не тільки вхідні дані про структуру а й саму архітектуру ПЗ з точки зору його надійності, а також автоматизує всі етапи розрахунку показників надійності, від етапу побудови блок-схеми надійності до етапу знаходження розподілу ймовірностей перебування програмної системи у всіх можливих станах. Запропонований метод дає можливість використовувати в різній комбінації методи, алгоритми та програмні засоби, які використовуються для надійнісного проектування саме програмних систем та вибрати з них найбільш адекватні потребам користувача в конкретній ситуації. Використання розробленого методу дає можливість зменшити вплив людського фактора та імовірності внесення помилки в процесі розрахунку показників надійності програмних систем на всіх етапах надійнісного проектування та скоротити час його проведення як мінімум на 21 %.

1. ISO/IEC 25010:2011 Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – System and software quality models," 2011. [Online]. Available: https://www.iso.org/obp/ui/#iso: std: iso-iec:25010: ed-1: v1: en

2. Бобало, Ю. Я. та ін. (2013). Математичні моделі та методи аналізу надійності радіоелектронних, електротехнічних та програмних систем: монографія / Ю. Я. Бобало, Б. Ю. Волочій, О. Ю. Лозинський, Б. А. Мандзій, Л. Д. Озірковський, Д. В. Федасюк, С. В. Щербовських, В. С. Яковина. – Львів: Вид-во Львівської політехніки, 2013, 300 с.

3. Bharathi, R, & Selvarani, R. (2019). "Software Reliability Assessment of Safety Critical System Using Computational Intelligence." International Journal of Software Science and Computational Intelligence, 11(3): 1‑25. https://doi.org/10.4018/ijssci.2019070101

4. Teslyuk, V, Sydor, A, Karovič, V ml., Pavliuk, O, & Kazymyra, I. (2021). Modelling Reliability Characteristics of Technical Equipment of Local Area Computer Networks. Electronics, 10(8):955. https://doi.org/10.3390/electronics10080955

5. Li, Y F., Huang, H Z., Mi, J. et al. (2022). Reliability analysis of multi-state systems with common cause failures based on Bayesian network and fuzzy probability. Ann Oper Res, 311, 195‑209. https://doi.org/10.1007/s10479-019-03247-6

6. Ozirkovskyy, L., Volochiy, B., Zmysnyi, M., & Shkiliuk, O. (2020). SYNTHESIS OF SAFE BEHAVIOR ALGORITHMS OF RADIOELECTRONIC SYSTEMS FOR CRITICAL APPLICATIONS. Informatyka, Automatyka, Pomiary W Gospodarce I Ochronie Środowiska, 10(1), 28‑31. https://doi.org/10.35784/iapgos.913

7. Sydor, A. R., Teslyuk, V. M., & Denysyuk, P. Y. (2014). Recurrent expressions for reliability indicators of compound electropower systems. Technical Electrodynamics, 4, 47‑49.

8. Teslyuk, V., Pavliuk, O. & Kazymyra, I. (2021). Model for Determining the Optimal Structure of Hierarchical Asymmetric Branched Computer Networks, 2021 IEEE 32nd International Conference on Microelectronics (MIEL), Nis, Serbia, 2021, pp. 259–262, https://doi.org/10.1109/MIEL52794.2021.9569115

9. Karnouskos, S., Sinha, R., Leitão, P., Ribeiro, L., & Strasser, T. I. (2018). The Applicability of ISO/IEC 25023 Measures to the Integration of Agents and Automation Systems," IECON 2018 - 44th Annual Conference of the IEEE Industrial Electronics Society, Washington, DC, USA, 2927–2934. https://doi.org/10.1109/IECON.2018.8592777

10. Catelani, M., Ciani, L., & Venzi, M. (2015). Reliability assessment for complex systems: A new approach based on RBD models, 2015 IEEE International Symposium on Systems Engineering (ISSE), Rome, Italy, 286–290. https://doi.org/10.1109/SysEng.2015.7302771

11. Sahinoglu, M., & Ramamoorthy, C. V. (2005). RBD tools using compression, decompression, hybrid techniques to code, decode, and compute reliability in simple and complex embedded systems, Oct. 2005 IEEE Transactions on Instrumentation and Measurement, 54(5), 1789–1799. https://doi.org/10.1109/TIM.2005.855103

12. Bennetts, R. G. (1982). Analysis of Reliability Block Diagrams by Boolean Techniques, June 1982 IEEE Transactions on ReliabilityR-31(2), 159–166. https://doi.org/10.1109/TR.1982.5221283

13. Babu, Naveen, Himagiri, Krishna, V Vamshi , Kumar, A Anil , & Ravi, M. (2019). Software Defect Prediction Analysis by Using Machine Learning Algorithms. International Journal of Recent Technology and Engineering 8(2S11). 3544‑3546. https://doi.org/10.35940/ijrte.b1438.0982s1119

14. Libo, Li, Lessmann, Stefan, & Baesens, Bart (2019). Evaluating Software Defect Prediction Performance: An Updated Benchmarking Study. SSRN Electronic Journal. https://doi.org/10.2139/ssrn.3312070

15. Revoori Veeharika Reddy, Nagella Kedharnath, Mandi Akif Hussain, & S. Vidya. (2021). Software Defect Estimation using Machine Learning Algorithms. International Journal of Recent Technology and Engineering (IJRTE), 10(1), 204–208. https://doi.org/10.35940/ijrte.A5898.0510121

16. Balogun, Abdullateef O., Basri, Shuib, Mahamad, Saipunidzam, Abdulkadir, Said J., & Bajeh, Amos O. (2020). Impact of Feature Selection Methods on the Predictive Performance of Software Defect Prediction Models: An Extensive Empirical Study". Symmetry, 12(7), 1147–1156. https://doi.org/10.3390/sym12071147

17. LEI, T., XUE, J., WANG, Y., NIU, Z., SHI, Z., & ZHANG, Y. (2022). WCM-WTrA: A Cross-Project Defect Prediction Method Based on Feature Selection and Distance-Weight Transfer Learning. Chinese Journal of Electronics, 31, 354–366. https://doi.org/10.1049/cje.2021.00.119

18. Jiarpakdee, J., Tantithamthavorn, C., & Treude, C. (2020). The impact of automated feature selection techniques on the interpretation of defect models. Empir Software Eng., 25, 3590–3638. https://doi.org/10.1007/s10664-020-09848-1

19. Rahul, Hans, & Kaur, Harjot (2020). Opposition-Based Enhanced Grey Wolf Optimization Algorithm for Feature Selection in Breast Density Classification. International Journal of Machine Learning and Computing, 10(3), 458‑64. https://doi.org/10.18178/ijmlc.2020.10.3.957

20. P. Sridhar & Mehta S. (2021). Stacking Based Ensemble Learning for Improved Software Defect Prediction. Proceeding of Fifth International Conference on Microelectronics, Computing and Communication Systems, 167‑178.

21. WEI, H., SHAN, C., HU, C., ZHANG, Y. and YU, X. (2019). Software Defect Prediction via Deep Belief Network. Chinese J. Electron., 28, 925–932. https://doi.org/10.1049/cje.2019.06.012

22. T. Asano et al. (2021). Using Bandit Algorithms for Project Selection in Cross-Project Defect Prediction, 2021 IEEE International Conference on Software Maintenance and Evolution (ICSME), Luxembourg, 649–653. https://doi.org/10.1109/ICSME52107.2021.00074

23. Tang, S., Huang, S., Zheng, C. Liu, E. Zong, C., & Ding, Y. (2022). A novel cross-project software defect prediction algorithm based on transfer learning, Tsinghua Science and Technology27(1), 41–57. https://doi.org/10.26599/tst.2020.9010040

24. Kumar, Lov, Kumar, Mukesh, & Murthy, Lalita Bhanu (2021). An Empirical Study on Application of Word Embedding Techniques for Prediction of Software Defect Severity Level. Proceedings of 16th Conference on Computer Science and Intelligence Systems (FedCSIS), 477–484. https://doi.org/10.15439/2021F100

25. Qiao, Lei, Xuesong, Li, Qasim, Umer, & Ping, Guo (2020). Deep Learning Based Software Defect Prediction. Neurocomputing, 385, 100–110. https://doi.org/10.1016/j.neucom.2019.11.067

26. Saleh, Albahli (2019). A Deep Ensemble Learning Method for Effort-Aware Just-In-Time Defect Prediction. Future Internet, 11(12),246. https://doi.org/10.3390/fi11120246

27. Shi, Ke, Lu, Yang, Chang, Jingfei, & Wei, Zhen (2020). PathPair2Vec: An AST Path Pair-Based Code Representation Method for Defect Prediction. Journal of Computer Languages, 59, 100979. https://doi.org/10.1016/j.cola.2020.100979

28. Albahli, Saleh. (2019). A Deep Ensemble Learning Method for Effort-Aware Just-In-Time Defect Prediction. Future Internet, 11(12), 246. https://doi.org/10.3390/fi11120246

29. Yakovyna, V. S., Seniv, M. M., Symets, I. I., & Sambir, N. B. (2020). Algorithms and software suite for reliability assessment of complex technical systems. Radio Electronics, Computer Science, Control, (4), 163‑177. https://doi.org/10.15588/1607-3274-2020-4-16

30. Seniv, M., Mykuliak, A, & Senechko, A. (2016). Recursive algorithm of traversing reliability block diagram for creation reliability and refuse logical expressions, 2016 XII International Conference on Perspective Technologies and Methods in MEMS Design (MEMSTECH), Lviv, Ukraine, 199-201. https://doi.org/10.1109/MEMSTECH.2016.7507542

31. Bobalo, Y., Seniv, M., Yakovyna, V., & Symets, I. (2018). Method of Reliability Block Diagram Visualization and Automated Construction of Technical System Operability Condition. In: Shakhovska, N., Medykovskyy, M. (eds) Advances in Intelligent Systems and Computing III. CSIT. Advances in Intelligent Systems and Computing, 871. Springer, Cham. 599–610. https://doi.org/10.1007/978-3-030-01069-0_43

32. Bobalo, Y., Yakovyna, V., Seniv, M. & Symets, I. (2018). Technique of Automated Construction of States and Transitions Graph for the Analysis of Technical Systems Reliability, 2018 IEEE 13th International Scientific and Technical Conference on Computer Sciences and Information Technologies (CSIT), Lviv, Ukraine, 314–317. https://doi.org/10.1109/STC-CSIT.2018.8526698

33. Мандзій, Б., Сенів, М., & Гайда, П. (2013). Програмна реалізація моделі надійності технічної резервованої системи з перемикачем. Комп'ютерні технології друкарства: зб. наук. пр. Укр. акад. друкарства, 30, 88‑96.

34. Bobalo, Y., Yakovyna, V., Seniv, M., & Symets, I. (2019). Techniques of Automated Processing of Kolmogorov – Chapman Differential Equation System for Reliability Analysis of Technical Systems, 2019 IEEE 15th International Conference on the Experience of Designing and Application of CAD Systems (CADSM), Polyana, Ukraine, 1–5, https://doi.org/10.1109/CADSM.2019.8779271

35. Yakovyna, V. S., Seniv, M. M., Lytvyn, V. V., & Symets, І. І. (2019). Програмний модуль розв'язування систем диференціальних рівнянь Колмогорова-Чепмена для автоматизації надійнісного проектування. Науковий вісник НЛТУ України, 29(5), 141–146. https://doi.org/10.15421/40290528