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

           .  Aghaee Ghazvini, G., & 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).

    • Ingeno, J., “Software Architect’s Handbook: Become a successful software architect by implementing effective architecture concepts”, Packt Publishing Ltd (2018).
    • Wang, W. L., Wu, Y., & Chen, M. H., “An Architecture-Based Software Reliability Model”, International Symposium on Dependable Computing., Hong Kong, 143-150 (1999).
    • Bachmann, F., Bass,,Clements, P., et al., “Documenting Software Architectures: Views and Beyond”, Second Edition, Addison-Wesley, (2010).
    • Dobrica, L., & Niemela, E. “A survey on software architecture analysis methods”, IEEE Transactions on Software Engineering28(7), pp. 638-653 (2002).
    • Clements, P. C., “Coming Attractions in Software Architecture”, In proc.the Joint Workshop on Parallel and Distributed Real-Time Systems., Geneva, Switzerland, 2-9 (1997).
    • Zeng, B., Li, C., & 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 Engineering23(1), pp. 361 (2016).
    • Caiuta, R., Pozo, A., & Vergilio, S. R., “Meta-Learning Based Selection of Software Reliability Models”, Automated Software Engineering, 24(3), 575-602, (2017).
    • Ghafarian Salehi Nezhad, A., Eshraghniaye Jahromi, A., Salmani, et al. “A four-phase algorithm to improve reliability in series-parallel systems with redundancy allocation”, Scientia Iranica21(3), pp. 1072-1082 (2014).
    • Fiondella, L., Rajasekaran, S., & Gokhale, S. S., “Efficient Software Reliability Analysis with Correlated Component Failures”, IEEE Transactions on Reliability, 62(1), pp. 244-255 (2013).
    • Fiondella, L., Rajasekaran, S., & 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).
    • Singpurwalla, N. D., “Reliability and Risk: A Bayesian Perspective”, John Wiley & Sons, (2006).
    • Littlewood, B., “The Impact of Diversity upon Common Mode Failures”, Reliability Engineering & System Safety, 51(1), pp. 101-113 (1996).
    • 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).
    • Franco, J. M. D. C. S., “Automated Reliability Prediction and Analysis from Software Architectures”, Doctoral dissertation, University of Coimbra (2016).
    • Wang, W. L., Pan, D., & Chen, M. H., “Architecture-Based Software Reliability Modeling”, Journal of Systems and Software, 79(1), pp. 132-146 (2006).
    • Fazlollahtabar, H., & Jalali, S. G., “Adapted Markovian model to control reliability assessment in multiple AGV”, Scientia Iranica20(6), pp.2224-2237 (2013).
    • Tyagi, K., & Sharma, A., “Reliability of Component-Based Systems: A Critical Survey”, ACM SIGSOFT Software Engineering Notes, 36(6), pp. 1-6 (2011).
    • Gokhale, S. S., & Trivedi, K. S., “Analytical Models for Architecture-Based Software Reliability Prediction: A, Unification Framework”, IEEE Transactions on Reliability, 55(4), pp. 578-590 (2006).
    • Cheung, R. C., “A User-Oriented Software Reliability Model”, IEEE Transactions on Software Engineering, (2), pp. 118-125 (1980).
    • Kristiansen, M., Winther, R., & Natvig, B., “Component Dependencies in Compound Software” International Journal of Reliability, Quality and Safety Engineering, 17(05), pp. 465-493 (2010).
    • 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, 275-279 (2009).
    • 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).
    • Li, X., Yin, Y., Fiondella, L., & Zhou, Y., “Software Reliability Analysis Considering Correlated Component Failures with Coupling Measurement Framework”, Journal of Systems Engineering and Electronics, 26(5), pp. 1114-1126 (2015).
    • Delac, G., Silic, M., & Srbljic, S., “A Reliability Improvement Method for SOA-Based Applications”, IEEE Transactions on Dependable and Secure Computing, 12(2), pp. 136-149 (2015).
    • Anjum, D., & Mustafa, T., “Reliability of Software Correlated Components Failure in Pakistan Industry”, International Journal of Information Engineering and Electronic Business, 9(2), pp.27 (2017).
    • 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).
    • Zhu, M., & 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).
    • Li, B., Liao, L., & Yu, X. “A verification-based approach to evaluate software architecture evolution”, Chinese Journal of Electronics26(3), pp.485-492 (2017).
    • Cortellessa, V., Eramo, R., & Tucci, M. “From software architecture to analysis models and back: Model-driven refactoring aimed at availability improvement”, Information and Software Technology127, 106362 (2020).
    • Sedaghatbaf, A., & Azgomi, M. A. “Software Architecture Modeling and Evaluation Based on Stochastic Activity Networks”, In International Conference on Fundamentals of Software Engineering, Tehran, Iran, 46-53 (2015).
    • Sedaghatbaf, A., & Azgomi, M. A., “SQME: a framework for modeling and evaluation of software architecture quality attributes”, Software & Systems Modeling18(4), pp. 2609-2632 (2019)
    • Sedaghatbaf, A., & Azgomi, M. A., “Reliability evaluation of UML/DAM software architectures under parameter uncertainty”, IET Software, 12(3), pp.236-244 (2018).
    • 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).
    • Babar, M. A., Shen, H., Biffl, S., & Winkler, D. “An Empirical Study of the Effectiveness of Software Architecture Evaluation Meetings”, IEEE Access7, pp. 79069-79084 (2019).
    • Bani Milhem, H. A. I. “Evaluating Software Architecture Based on Their Implemented Patterns and Tactics”, Doctoral dissertation, the University of Ottawa (2020).
    • Zhang, C., Ma, Y., Wang, X., & Wang, R., “Software architecture modeling and reliability evaluation based on Petri net”, In 2017 IEEE International Conference on Dependable Systems and Their Applications (DSA),Beijing, China, 51-56 (2017).
    • 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).
    • Kamavaram, S., & Goseva-Popstojanova, K., “Sensitivity of Software Usage to Changes in the Operational Profile”, In 28th Annual NASA Goddard Software Engineering Workshop, Greenbelt, MD, USA, 157-164, (2003).