Symets I. Models and methods of prediction and analysis of technical systems reliability considering the software development process

Українська версія

Thesis for the degree of Doctor of Philosophy (PhD)

State registration number

0825U000582

Applicant for

Specialization

  • 121 - Інженерія програмного забезпечення

16-06-2022

Specialized Academic Board

PhD 21

Lviv Polytechnic National University

Essay

The thesis paper solved the relevant scientific and applied task in the sphere of software engineering - increase prediction reliability and estimation of reliability indicators of software and hardware systems by improving related models of reliability and creating methods and tools of automation their producing. The first chapter: The software systems’ basic concepts, criteria, and reliability indicators are examined in the first chapter. A detailed description of software reliability models and their features is presented. The analysis showed that the growing complexity of software and hardware systems requires developing and improving reliability models with an increasing degree of their sufficiency. The practical use of certain methods and models is somewhat complicated and is related to large-scale problems solving and complex calculations that make it impossible to perform these tasks manually since the probability of error in producing and analyzing such models increases, so this process requires special automation methods. Using the model based on high-order Markov chains was considered a means to increase the authenticity of the indicators evaluation reliability software, as this model considers the background of previous software modules. Also, methods for predicting software defects based on code metrics were considered (defect means the presence or absence of software defects in the proper software module). These predicting methods of software defects allow developers to identify defects based on available software indicators and thus improve the quality of software. As the literature analysis has shown, the available approaches have certain imperfections: insufficiently high prediction accuracy; there is no consensus on the impact of software code metrics on its quality indicators, and in particular, reliability; the question of defining the set of metrics of program code that most correlate with indicators of its quality. The second chapter described the developed methods for automation the representation of a higher-order Markov process by an equivalent first-order process with additional virtual states and determining the working function (condition) for Markov software reliability models. The use of developed methods allows to automate the process of using appropriate reliability models, reduces the impact of the human factor, and, accordingly, reduces the probability of errors entering in the use of these methods and models and increases the authenticity of reliability evaluation. The CubeSat nanosatellite's flights on the software reliability example evaluation were realized and tested to demonstrate the practical use and verification of the developed method of presenting a higher-order Markov process. This study aims to determine how the failure rate of the software system will change during the evaluation using traditional Markov chains of continuous-time, as well as Markov chains of the second and third-order. As a result of the study, it was demonstrated that higher-order Markov chains could significantly increase the accuracy reliability evaluation of complex software systems both in failure rate and time dependence. The chapter also describes certain combinatorial formulas that allow to determine the maximum and the minimum number of system states from the total state space and individual formulas for determining the maximum and the minimum number of operational states and idle states from the full set for a system of n elements and r renewal. These formulas allow you to quickly estimate the possible state space of the system with known values of n and r without the use of special technical means. The third chapter aims to improve software defect prediction models by using machine learning methods to select the metrics that most affect software modules' defects and develop a method of classifying software modules by defect based on the use of a stacking ensemble of neural networks. Based on the results of the study, a software defect model was produced using a set of code metrics obtained as the most important features and regression method. A classifying method of software modules by defects based on code metrics using a neural network stack ensemble has been developed. In the fourth chapter, appropriate software was designed and developed for the automated use, testing, and verification of the developed methods. Software to automate the representation of the higher-order Markov process as an equivalent first-order process with additional virtual states was implemented using the ReactJS library and JavaScript as a Web application. Software for calculating the reliability characters of complex technical systems based on the efficiency functions allows to represent the operation and interaction of system modules and on their basis to determine the function of the system. Testing of the developed software has shown that the developed software gives a high performance level.

Research papers

1. 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

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

3. Яковина, В. С., Сенів, М. М., & Симець, І. І. (2019). Засоби автоматизованого формулювання умов працездатності складних технічних систем. Науковий вісник НЛТУ України, 29(9), 136-141. https://doi.org/ 10.36930/40290924.

4. Vitaliy Yakovyna, Ivan Symets. A method of high-order Markov chain representation through an equivalent first-order chain for software reliability assessment // Комп'ютерні системи та інформаційні технології. – 2021. – № 3. – С. 66–73. https://doi.org/10.31891/CSIT-2021-5-9

5. Vitaliy Yakovyna, Ivan Symets. Towards a software defect proneness model: feature selection // Прикладні аспекти інформаційних технологій. – 2021. – Vol. 4, № 4. – P. 354–365. https://doi.org/10.15276/aait.

6. Яковина, В. С., & Симець, І. І. (2021). Прогнозування дефектів програмного забезпечення ансамблем нейронних мереж. Науковий вісник НЛТУ України, 31(6), 104-111. https://doi.org/10.36930/40310616.

7. Yuriy Bobalo, Maksym Seniv, Vitaliy Yakovyna, Ivan Symets Method of Reliability Block Diagram Visualization and Automated Construction of Technical System Operability Condition // Advances in Intelligent Systems and Computing III, vol 871. Springer, Cham. P. 599-610. https://doi.org/ 10.1007/978-3-030-01069-0_43.

8. Yakovyna, Vitaliy, Ivan Symets. 2021. “Reliability Assessment of CubeSat Nanosatellites Flight Software by High-Order Markov Chains.” Procedia Computer Science 192: 447–56. https://doi.org/10.1016/j.procs.2021.08.046.

9. Yuriy Bobalo, Maksym Seniv, Ivan Symets Algorithms of automated formulation of the operability condition of complex technical systems // Perspective technologies and methods in MEMS design (MEMSTECH’2018) : pros. of ХІV-th Intern. Conf., 18-22 april 2018, Lviv - Polyana, Ukraine. – P. 220-224

10. Maksym Seniv, Vitaliy Yakovyna, Ivan Symets Software for visualization of reliability block diagram and automated formulation of operability conditions of technical systems// Perspective technologies and methods in MEMS design (MEMSTECH’2018) : pros. of ХІV-th Intern. Conf., 18-22 april 2018, Lviv - Polyana, Ukraine. – P. 191-195.

11. Yuriy Bobalo, Vitaliy Yakovyna, Maksym Seniv, Ivan Symets. Technique of automated construction of states and transitions graph for the analysis of technical systems reliability. // Proceedings of the 13th International scientific and technnical conference CSIT-2018, 11-14 September 2018. – Lviv, Ukraine 2018. – P. 314.

12. Vitaliy Yakovyna, Maksym Seniv, Ivan Symets. Techniques of Automated Processing of Kolmogorov – Chapman Differential Equation System for Reliability Analysis of Technical Systems. // Proceedings of the 15th Intern. Conf. on The Experience of Designing and Application of CAD Systems in Microelectronics, CADSM'2019, 26 February – 2 March, 2019. – Lviv–Polyana, Ukraine 2019.

14. Yakovyna, V., Seniv, M., Symets, I. The Relation between Software Development Methodologies and Factors Affecting Software Reliability // Proceedings of IEEE 15th International Conference on Computer Sciences and Information Technologies (CSIT), CSIT 2020, 23-26 Sept. 2020. - Zbarazh, Ukraine. - 377 - 381; https://ieeexplore.ieee.org/document/9321937

Files

Similar theses