This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Simulation Approach to Structure-Based Software Reliability Analysis
August 2005 (vol. 31 no. 8)
pp. 643-656
Structure-based techniques enable an analysis of the influence of individual components on the application reliability. In an effort to ensure analytical tractability, prevalent structure-based analysis techniques are based on assumptions which preclude the use of these techniques for reliability analysis during the testing and operational phases. In this paper, we develop simulation procedures to assess the impact of individual components on the reliability of an application in the presence of fault detection and repair strategies that may be employed during testing. We also develop simulation procedures to analyze the application reliability for various operational configurations. We illustrate the potential of simulation procedures using several examples. Based on the results of these examples, we provide novel insights into how testing and repair strategies can be tailored depending on the application structure to achieve the desired reliability in a cost-effective manner. We also discuss how the results could be used to explore alternative operational configurations of a software application taking into consideration the application structure so as to cause minimal interruption in the field.

[1] S.J. Bavuso, J.B. Dugan, K.S. Trivedi, E.M. Rothmann, and W.E. Smith, “Analysis of Typical Fault-Tolerant Architectures Using HARP,” IEEE Trans. Reliability, vol. 36, no. 2, pp. 176-185, June 1987.
[2] R.C. Cheung, “A User-Oriented Software Reliability Model,” IEEE Trans. Software Eng., vol. 6, no. 2, pp. 118-125, Mar. 1980.
[3] M. Defamie, P. Jacobs, and J. Thollembeck, “Software Reliability: Assumptions, Realities and Data,” Proc. Int'l Conf. Software Maintenance, Sept. 1999.
[4] J.T. Duane, “Learning Curve Approach to Reliability Monitoring,” IEEE Trans. Aerospace, vol. 2, pp. 563-566, 1964.
[5] J. Dugan and K.S. Trivedi, “Coverage Modeling for Dependability Analysis of Fault-Tolerant Systems,” IEEE Trans. Computers, vol. 38, no. 6, pp. 775-787, June 1989.
[6] W. Farr, Handbook of Software Reliability Engineering, chapter software reliability modeling survey, M.R. Lyu, ed., pp. 71-117, McGraw-Hill, 1996.
[7] A.L. Goel and K. Okumoto, “A Non-Homogeneous Poisson Process Model for Software Reliability and Other Performance Measures,” Technical Report 79-1, Dept. of IE and OR, Syracuse Univ., 1979.
[8] A.L. Goel and K. Okumoto, “Time-Dependent Error-Detection Rate Models for Software Reliability and Other Performance Measures,” IEEE Trans. Reliability, vol. 28, no. 3, pp. 206-211, Aug. 1979.
[9] S. Gokhale, “Architecture-Based Heterogeneous Software Reliability Framework,” Proc. ISSAT Conf., Aug. 2004.
[10] S. Gokhale, J.R. Horgan, and K.S. Trivedi, Book on Architecting Dependable Systems, R. de Lemos, et al., eds., vol. 2677, chapter specification level integration of performance and dependability analysis, pp. 245-266, Springer-Verlag, July 2003.
[11] S. Gokhale, M.R. Lyu, and K.S. Trivedi, “Reliability Simulation of Fault-Tolerant Software and Systems,” Proc. Pacific Rim Int'l Symp. Fault-Tolerant Systems (PRFTS 97), pp. 167-173, Dec. 1997.
[12] S. Gokhale, M.R. Lyu, and K.S. Trivedi, “Software Reliability Analysis Incorporating Debugging Activities,” Proc. Ninth Int'l Symp. Software Reliability Eng. (ISSRE 98), pp. 202-211, Nov. 1998.
[13] S. Gokhale, M.R. Lyu, and K.S. Trivedi, “Analysis of Software Fault Removal Policies Using a Non Homogeneous Continuous Time Markov Chain,” Software Quality J., 2004.
[14] S. Gokhale, P.N. Marinos, K.S. Trivedi, and M.R. Lyu, “Effect of Repair Policies on Software Reliability,” Proc. Conf. Computer Assurance (COMPASS 97), pp. 105-116, June 1997.
[15] S. Gokhale and K.S. Trivedi, “A Time/Structure Based Software Reliability Model,” Annals of Software Eng., vol. 8, pp. 85-121, 1999.
[16] S. Gokhale and K.S. Trivedi, “Reliability Prediction and Sensitivity Analysis Based on Software Architecture,” Proc. Int'l Symp. Software Reliability Eng. (ISSRE 02), Nov. 2002.
[17] K. Goseva-Popstojanova and S. Kamavaram, “Assessing Uncertainty in Reliability of Component-Based Software Systems,” Proc. Int'l Symp. Software Reliability Eng. (ISSRE), pp. 307-320, Nov. 2003.
[18] Z. Jelinski and P.B. Moranda, Statistical Computer Performance Evaluation, W. Freiberger, ed., chapter software reliability research, pp. 465-484, Academic Press, 1972.
[19] K. Kanoun, M. Kaaniche, C. Beounes, J.C. Laprie, and J. Arlat, “Reliability Growth of Fault-Tolerant Software,” IEEE Trans. Reliability, vol. 42, no. 2, pp. 205-219, June 1993.
[20] S. Krishnamurthy and A.P. Mathur, “On the Estimation of Reliability of a Software System Using Reliabilities of Its Components,” Proc. Eighth Int'l Symp. Software Reliability Eng., pp. 146-155, Nov. 1997.
[21] J.C. Laprie, J. Arlat, C. Beounes, and K. Kanoun, “Definition and Analysis of Hardware- and Software Fault-Tolerant Architectures,” Computer, vol. 23, no. 7, pp. 39-51, July 1990.
[22] J.C. Laprie and K. Kanoun, “X-Ware Reliability and Availability Modeling,” IEEE Trans. Software Eng., vol. 15, pp. 130-147, 1992.
[23] J.C. Laprie, K. Kanoun, C. Beounes, and M. Kaaniche, “The KAT (Knowledge-Action-Transformation) Approach to the Modeling and Evaluation of Reliability and Availability Growth,” IEEE Trans. Software Eng., vol. 17, no. 4, pp. 370-382, 1991.
[24] B. Littlewood, “A Semi-Markov Model for Software Reliability with Failure Costs,” Proc. Symp. Computer Software Eng., pp. 281-300, Apr. 1976.
[25] J. Lo, S. Kuo, M.R. Lyu, and C. Huang, “Optimal Resource Allocation and Reliability Analysis for Component-Based Software Applications,” Proc. 26th Ann. Int'l Computer Software and Applications Conf. (COMPSAC), pp. 7-12, Aug. 2002.
[26] M.R. Lyu, Handbook of Software Reliability Engineering. McGraw-Hill, 1996.
[27] J.D. Musa, “Operational Profiles in Software-Reliability Engineering,” IEEE Software, vol. 10, no. 2, pp. 14-32, Mar. 1993.
[28] V.F. Nicola and A. Goyal, “Modeling of Correlated Failures and Community Error Recovery in Multiversion Software,” IEEE Trans. Software Eng., vol. 16, no. 3, pp. 350-359, Mar. 1990.
[29] B. Randell, “System Structure for Software Fault Tolerance,” IEEE Trans. Software Eng., vol. 1, no. 2, pp. 220-232, June 1975.
[30] A.E. Rizzoli, “A Collection of Modeling and Simulation Resources,” http://www.idsia.ch/andreasimtools.html, 2004.
[31] N.F. Scheidewind, “Fault Correction Profiles,” Proc. Int'l Symp. Software Reliability Eng., pp. 257-267, Nov. 2003.
[32] K. Seigrist, “Reliability of Systems with Markov Transfer of Control,” IEEE Trans. Software Eng., vol. 14, no. 7, pp. 1049-1053, July 1988.
[33] K. Seigrist, “Reliability of Systems with Markov Transfer of Control, II,” IEEE Trans. Software Eng., vol. 14, no. 10, pp. 1478-1480, Oct. 1988.
[34] H. Singh, V. Cortellessa, B. Cukic, E. Gunel, and V. Bharadwaj, “A Bayesian Approach to Reliability Prediction and Assessment of Component-Based Systems,” Proc. Int'l Symp. Software Reliability Eng. (ISSRE), Nov. 2001.
[35] N.D. Singpurwalla and S.P. Wilson, Statistical Methods in Software Engineering: Reliability and Risk. Springer Verlag, 1999.
[36] R.C. Tausworthe and M.R. Lyu, “A Generalized Technique for Simulating Software Reliability,” IEEE Software, vol. 13, no. 2, pp. 77-88, Mar. 1996.
[37] L.A. Tomek, J.K. Muppala, and K.S. Trivedi, “Modeling Correlation in Software Recovery Blocks,” IEEE Trans. Software Eng., vol. 19, no. 11, pp. 1071-1086, Nov. 1993.
[38] K.S. Trivedi, Probability and Statistics with Reliability, Queuing and Computer Science Applications. John Wiley, 2001.
[39] A. Wood, “Software Reliability Growth Models: Assumptions vs. Reality,” Proc. Eighth Int'l Symp. Software Reliability Eng., pp. 136-141, Nov. 1997.
[40] S. Yacoub, B. Cukic, and H. Ammar, “Scenario-Based Analysis of Component-Based Software,” Proc. 10th Int'l Symp. Software Reliability Eng., Nov. 1999.
[41] S.M. Yacoub and H.H. Ammar, “A Methodology for Architecture-Level Reliability Risk Analysis,” IEEE Trans. Software Eng., vol. 28, no. 6, pp. 529-547, June 2002.
[42] S. Yamada, M. Ohba, and S. Osaki, “S-Shaped Reliability Growth Modeling for Software Error Detection,” IEEE Trans. Reliability, vol. 32, no. 5, pp. 475-485, Dec. 1983.

Index Terms:
Index Terms- Application structure, reliability analysis, discrete-event simulation.
Citation:
Swapna S. Gokhale, Michael Rung-Tsong Lyu, "A Simulation Approach to Structure-Based Software Reliability Analysis," IEEE Transactions on Software Engineering, vol. 31, no. 8, pp. 643-656, Aug. 2005, doi:10.1109/TSE.2005.86
Usage of this product signifies your acceptance of the Terms of Use.