Fuzzy-algorithmic analysis of software reliability
Hanna Rakytianska, Bohdan PrusThe 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
References
[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.