Quantifying software performance, reliability and security: An architecture-based approach

With component-based systems becoming popular and handling diverse and critical applications, the need for their thorough evaluation has become very important. In this paper we propose an architecture-based unified hierarchical model for software performance, reliability, security and cache behavior prediction. We employ discrete time Markov chains (DTMCs) to model software systems and provide expressions for predicting the overall behavior of the system based on its architecture as well as the characteristics of individual components. This approach also facilitates the identification of various bottlenecks. We illustrate its use through some case studies and also provide expressions to perform sensitivity analysis.

[1]  Wen-Hann Wang,et al.  Efficient trace-driven simulation methods for cache performance analysis , 1991, TOCS.

[2]  Jean-Claude Laprie,et al.  Dependability Evaluation of Software Systems in Operation , 1984, IEEE Transactions on Software Engineering.

[3]  Hany H. Ammar,et al.  A scenario-based reliability analysis approach for component-based software , 2004, IEEE Transactions on Reliability.

[4]  J. Ledoux,et al.  Availability modeling of modular software , 1999 .

[5]  Sharad Malik,et al.  Cache miss equations: an analytical representation of cache misses , 1997, ICS '97.

[6]  Kishor S. Trivedi,et al.  A Performance Engineering Tool for Tiered Software Systems , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

[7]  Bev Littlewood,et al.  A Reliability Model for Systems with Markov Structure , 1975 .

[8]  Kishor S. Trivedi,et al.  Reliability and Performance of Component Based Software Systems with Restarts, Retries, Reboots and Repairs , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[9]  Kishor S. Trivedi,et al.  Failure correlation in software reliability models , 1999, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).

[10]  Ralf H. Reussner,et al.  Reliability prediction for component-based software architectures , 2003, J. Syst. Softw..

[11]  Kishor S. Trivedi Probability and Statistics with Reliability, Queuing, and Computer Science Applications , 1984 .

[12]  Swapna S. Gokhale,et al.  Reliability prediction and sensitivity analysis based on software architecture , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

[13]  Dorina C. Petriu,et al.  Software Performance Models from System Scenarios in Use Case Maps , 2002, Computer Performance Evaluation / TOOLS.

[14]  Dorina C. Petriu,et al.  Architecture-Based Performance Analysis Applied to a Telecommunication System , 2000, IEEE Trans. Software Eng..

[15]  Gururaj S. Rao,et al.  Performance Analysis of Cache Memories , 1978, JACM.

[16]  William D. Strecker,et al.  Transient behavior of cache memories , 1983, TOCS.

[17]  Aditya P. Mathur,et al.  On the estimation of reliability of a software system using reliabilities of its components , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[18]  Swapna S. Gokhale,et al.  An analytical approach to architecture-based software reliability prediction , 1998, Proceedings. IEEE International Computer Performance and Dependability Symposium. IPDS'98 (Cat. No.98TB100248).

[19]  Kishor S. Trivedi,et al.  Performance And Reliability Analysis Of Computer Systems (an Example-based Approach Using The Sharpe Software , 1997, IEEE Transactions on Reliability.

[20]  Günter Haring,et al.  On Stochastic Models of Interactive Workloads , 1983, Performance.

[21]  Richard C. Holt,et al.  Linux as a case study: its extracted software architecture , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[22]  J. R. Horgan,et al.  A data flow coverage testing tool for C , 1992, [1992] Proceedings of the Second Symposium on Assessment of Quality Software Development Tools.

[23]  Vittorio Cortellessa,et al.  From UML models to software performance results: an SPE process based on XML interchange formats , 2005, WOSP '05.

[24]  Peter Kubat,et al.  Assessing reliability of modular software , 1989 .

[25]  Katerina Goseva-Popstojanova,et al.  Architecture-based approach to reliability assessment of software systems , 2001, Perform. Evaluation.

[26]  Aditya P. Mathur,et al.  Comparison of architecture-based software reliability models , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[27]  Kateriana Goýeva-Popstojanova,et al.  Many architecture-based software reliability modelsComparison of Architecture-Based Software Reliability Models , 2001 .

[28]  Gregory K. Miller,et al.  Elements of Applied Stochastic Processes , 1972 .

[29]  Mark Horowitz,et al.  An analytical cache model , 1989, TOCS.

[30]  Claes Wohlin,et al.  An additive reliability model for the analysis of modular software failure data , 1995, Proceedings of Sixth International Symposium on Software Reliability Engineering. ISSRE'95.

[31]  Connie U. Smith,et al.  Performance Engineering of Software Systems , 1990, SIGMETRICS Perform. Evaluation Rev..

[32]  Roger C. Cheung,et al.  A User-Oriented Software Reliability Model , 1978, IEEE Transactions on Software Engineering.

[33]  Kishor S. Trivedi,et al.  An Aggregation Technique for the Transient Analysis of Stiff Markov Chains , 1986, IEEE Transactions on Computers.

[34]  Douglas W. Clark,et al.  Performance of the VAX-11/780 translation buffer: simulation and measurement , 1985, TOCS.

[35]  W. W. Everett,et al.  Software component reliability analysis , 1999, Proceedings 1999 IEEE Symposium on Application-Specific Systems and Software Engineering and Technology. ASSET'99 (Cat. No.PR00122).

[36]  C. K. Chow,et al.  Determination of Cache's Capacity and its Matching Storage Hierarchy , 1976, IEEE Transactions on Computers.

[37]  Keith W. Miller,et al.  Defining an adaptive software security metric from a dynamic software failure tolerance measure , 1996, Proceedings of 11th Annual Conference on Computer Assurance. COMPASS '96.

[38]  Hany H. Ammar,et al.  Scenario-based reliability analysis of component-based software , 1999, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).

[39]  Gerald S. Shedler,et al.  Locality in Page Reference Strings , 1972, SIAM J. Comput..

[40]  Andrew P. Moore,et al.  Can We Ever Build Survivable Systems from COTS Components? , 2002, CAiSE.

[41]  Martin L. Shooman,et al.  Structural models for software reliability prediction , 1976, ICSE '76.

[42]  Harold S. Stone,et al.  A Model of Workloads and Its Use in Miss-Rate Prediction for Fully Associative Caches , 1992, IEEE Trans. Computers.

[43]  Kishor S. Trivedi,et al.  Numerical transient analysis of markov models , 1988, Comput. Oper. Res..

[44]  Harold S. Stone,et al.  Footprints in the cache , 1986, SIGMETRICS '86/PERFORMANCE '86.

[45]  Kishor S. Trivedi,et al.  Evaluating performance attributes of layered software architecture , 2005, CBSE'05.