Reliability evaluation of software architectural styles based on correlated component failure

Document Type : Article

Author

Department of Computer Engineering, Yazd Branch, Islamic Azad University, Yazd, Iran

Abstract

The aim of this study is to provide an efficient and scalable way to evaluate the reliability of different ‎software ar-chitectural styles with regard to correlated components failures. In this way, a method ‎based on the discrete time Markov chain (DTMC) model is proposed. In the proposed method, software architecture styles are used for reliability evaluation. The four main styles are transformed into Markov chain models and the transfer matrix is created for them, then using the Bernoulli distribution, the correlation between component is shown in the matrix and used in the evaluation process. The proposed method is scalable ‎such that it can be used for large software architectures with heterogeneous and homogeneous ‎styles. The results of the evaluation on the case study show that this method is more accurate than ‎the other methods for reliability prediction of the software architectures. As a result, it is ‎concluded that the proposed method is suitable for the preliminary estimation of the software ‎architecture reliability and can make a better comparison between various architectural styles to ‎choose the best and most suitable one from the available options.‎

Keywords


References:
1. Aghaee Ghazvini, G. and Emadi, S. "An analytical algorithm of component-based heterogeneous software architectural styles performance prediction", Journal of Advances in Computer Research, 5(3), pp. 85-100 (2014).
2. Ingeno, J., Software Architect's Handbook: Become a Successful Software Architect by Implementing Effective Architecture Concepts, Packt Publishing Ltd (2018).
3. Wang, W.L., Wu, Y., and Chen, M.H. "An architecture-based software reliability model", International Symposium on Dependable Computing, Hong Kong, pp. 143-150 (1999).
4. Bachmann, F., Bass, L., Clements, P., et al., Documenting Software Architectures: Views and Beyond,Second Edn., Addison-Wesley (2010).
5. Dobrica, L. and Niemela, E. "A survey on software architecture analysis methods", IEEE Transactions on Software Engineering, 28(7), pp. 638-653 (2002).
6. Clements, P.C. "Coming attractions in software architecture", In Proc. the Joint Workshop on Parallel and Distributed Real-Time Systems, Geneva, Switzerland, pp. 2-9 (1997).
7. Zeng, B., Li, C., and Liu, S.F. "A novel grey target decision-making model based on cobweb area and its application for choosing the software development pattern", Scientia Iranica. Transaction E, Industrial Engineering, 23(1), p. 361 (2016).
8. Caiuta, R., Pozo, A., and Vergilio, S.R. "Metalearning based selection of software reliability models", Automated Software Engineering, 24(3), pp. 575-602 (2017).
9. Ghafarian Salehi Nezhad, A., Eshraghniaye Jahromi, A., Salmani, M.H., et al. "A four-phase algorithm to improve reliability in series-parallel systems with redundancy allocation", Scientia Iranica, 21(3), pp. 1072-1082 (2014).
10. Fiondella, L., Rajasekaran, S., and Gokhale, S.S."Efficient software reliability analysis with correlated component ailures", IEEE Transactions on Reliability, 62(1), pp. 244-255 (2013).
11. Fiondella, L., Rajasekaran, S., and Gokhale, S.S."Efficient system reliability with correlated component failures", IEEE 13th International Symposium on High-Assurance Systems Engineering (HASE), Boca Raton, FL, USA, pp. 269-276 (2011).
12. Singpurwalla, N.D., Reliability and Risk: A Bayesian Perspective, John Wiley & Sons (2006).
13. Littlewood, B. "The impact of diversity upon common mode failures", Reliability Engineering & System Safety, 51(1), pp. 101-113 (1996).
14. Bindal, D. "A review of Markov model for estimating software reliability", International Journal of Advanced Research in Computer Science and Software Engineering, 3(6), pp. 426-433 (2013).
15. Franco, J.M.D.C.S. "Automated reliability prediction and analysis from software architectures", Doctoral Dissertation, University of Coimbra (2016).
16. Wang, W.L., Pan, D., and Chen, M.H. "Architecturebased software reliability modeling", Journal of Systems and Software, 79(1), pp. 132-146 (2006).
17. Fazlollahtabar, H. and Jalali, S.G. "Adapted Markovian model to control reliability assessment in multiple AGV", Scientia Iranica, 20(6), pp. 2224-2237 (2013).
18. Tyagi, K. and Sharma, A. "Reliability of componentbased systems: A critical survey", ACM SIGSOFT Software Engineering Notes, 36(6), pp. 1-6 (2011).
19. Gokhale, S.S. and Trivedi, K.S. "Analytical models for architecture-based software reliability prediction: A, unification framework", IEEE Transactions on Reliability, 55(4), pp. 578-590 (2006).
20. Cheung, R.C. "A user-oriented software reliability model", IEEE Transactions on Software Engineering, 2, pp. 118-125 (1980).
21. Kristiansen, M., Winther, R., and Natvig, B. "Component dependencies in compound software", International Journal of Reliability, Quality and Safety Engineering, 17(05), pp. 465-493 (2010).
22. Fiondella, L. "Joint distribution decomposition for the reliability analysis of systems with correlated failures", In Proc. of ISSAT International Conference on Reliability and Quality in Design, San Francisco, CA, pp. 275-279 (2009).
23. Brosch, F., Koziolek, H., Buhnova, B., et al. "Architecture-based reliability prediction with the palladio component model", IEEE Transactions on Software Engineering, 38(6), pp. 1319-1339 (2012).
24. Li, X., Yin, Y., Fiondella, L., et al. "Software reliability analysis considering correlated component failures with coupling measurement framework", Journal of Systems Engineering and Electronics, 26(5), pp. 1114- 1126 (2015).
25. Delac, G., Silic, M., and Srbljic, S. "A reliability improvement method for SOA-based applications", IEEE Transactions on Dependable and Secure Computing, 12(2), pp. 136-149 (2015).
26. Anjum, D. and Mustafa, T. "Reliability of software correlated components failure in pakistan industry", International Journal of Information Engineering and Electronic Business, 9(2), p. 27 (2017).
27. Aleti, A., Trubiani, C., van Hoorn, A., et al. "An efficient method for uncertainty propagation in robust software performance estimation", Journal of Systems and Software, 138, pp. 222-235 (2018).
28. Zhu, M. and Pham, H. "A two-phase software reliability modeling involving with software fault dependency and imperfect fault removal", Computer Languages, Systems & Structures, 53, pp. 27-42 (2018).
29. Li, B., Liao, L., and Yu, X. "A verification-based approach to evaluate software architecture evolution", Chinese Journal of Electronics, 26(3), pp. 485-492 (2017).
30. Cortellessa, V., Eramo, R., and Tucci, M. "From software architecture to analysis models and back: Modeldriven refactoring aimed at availability improvement", Information and Software Technology, 127, 106362 (2020).
31. Sedaghatbaf, A. and Azgomi, M.A. "Software architecture modeling and evaluation based on stochastic activity networks", In International Conference on Fundamentals of Software Engineering, Tehran, Iran, pp. 46-53 (2015).
32. Sedaghatbaf, A. and Azgomi, M.A. "SQME: a framework for modeling and evaluation of software architecture quality attributes", Software & Systems Modeling,18(4), pp. 2609-2632 (2019).
33. Sedaghatbaf, A. and Azgomi, M.A. "Reliability evaluation of UML/DAM software architectures under parameter uncertainty", IET Software, 12(3), pp. 236- 244 (2018).
34. Ouhbi, S. "Software architecture evaluation: A systematic mapping study", 13th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE), Funchal, Madeira Portugal, pp. 447-454 (2018).
35. Babar, M.A., Shen, H., Biffl, S., and Winkler, D. "An empirical study of the effectiveness of software architecture evaluation meetings", IEEE Access, 7, pp. 79069-79084 (2019).
36. Bani Milhem, H.A.I. "Evaluating software architecture based on their implemented patterns and tactics", Doctoral dissertation, the University of Ottawa (2020).
37. Zhang, C., Ma, Y., Wang, X., et al. "Software architecture modeling and reliability evaluation based on Petri net", In 2017 IEEE International Conference on Dependable Systems and Their Applications (DSA), Beijing, China, pp. 51-56 (2017).
38. Prentice, R.L. "Binary regression using an extended beta-binomial distribution, with discussion of correlation induced by covariate measurement errors", Journal of the American Statistical Association, 81(394), pp. 321-327 (1986).
39. Kamavaram, S. and Goseva-Popstojanova, K. "Sensitivity of software usage to changes in the operational profile", In 28th Annual NASA Goddard Software Engineering Workshop, Greenbelt, MD, USA, pp. 157- 164 (2003).