Download Musa Software Reliability Models - Lecture Slides | CSE 565 and more Study Guides, Projects, Research Computer Science in PDF only on Docsity! 1 1 Musa Software Reliability Models Wei-Tek Tsai Department of Computer Science and Engineering Arizona State University Tempe, AZ 85287 2 Contents • Introduction to reliability models. • Musa Software Reliability models – Basic execution time model – Logarithmic execution time model • Applying the models to software projects. • Benefits and limitations of the Musa Software Reliability Models 2 3 Software Reliability Models • Reliability is the probability that a given software will run error-free for a specified period of time (IEEE definition). • Software Reliability Models – used to predict software reliability early during development – Main focus is on fault removal – Composed of assumptions, factors and a mathematical function relating reliability to the factors 4 Importance of Software Reliability Models • Quantify many characteristics of the failure process, such as: – average number of failures experienced at any point in time – average number of failures in a time interval – failure intensity at any point in time – probability distribution of failure intervals. • Such information can be used to: – Evaluate development status during test phases of project. – Monitor the operational performance of software. – Control design changes and new feature addition 5 9 Step 3 Selection of tests – Deterministic basis – each test case and its sequence mentioned with certainty – Random basis – more than one test case is possible at a single point of execution with a certain probability of occurrence 10 Step 4 • Parameter determination for the execution and calendar time components of the model. – Execution time components are characterized by two parameters: • Initial failure intensity • Total number of failures – Parameters can be predicted from software characteristics and the development process. – Parameters may also be estimated statistically from failure data, once execution starts. 6 11 Step 5 • Computing required metrics and performance factors. – Performed by system engineers. – Three types of calculations are common to most applications: 1. System test duration 2. System test resource requirements and cost 3. Operational cost of failure 12 Benefits and Limitations of the Musa Models • The use of both execution time and calendar time. • Concepts from several models have been incorporated. You can enjoy most of their advantages. • Easy and simple to understand. • Predicts software reliability satisfactorily. • Thoroughly developed and widely applied in actual projects. • Several programs available to aid in implementing the model. • Does not provide accurate estimation for very small projects (< 5000 LOC) 7 13 Resources • Musa, Iannino, Okumoto, “ Software Reliability: Measurement, Prediction, Application”, McGraw-Hill Book Company, 1987, ISBN 0-07-044093-X. • Musa J. D., 1975. “A Theory of Software Reliability and its Application”, IEEE Transactions on Software Engineering, SE – 1(3), pp. 312-327. • Musa J. D., 1979. “Validation of Execution Time Theory of Software Reliability”, IEEE Transactions on Reliability, R-28(3), pp. 181-191. • Musa J. D. and K. Okumoto, 1984, “A Logarithmic Poisson Execution Time Model for Software Reliability Measurement”, Proceedings of the 7th International Conference on Software Engineering, Orlando, pp. 230-238. • Pan J., Spring 99, “Software Reliability”, • http://www-2.cs.cmu.edu/~koopman/des_s99/sw_reliability. • http://www.cs.utexas.edu/users/software/1998/musa-19990128/ • http://www.softdim.com/psqt00north/tutorials-m.htm • members.aol.com/~johnDMusa • http://www.utexas.edu/coe/sqi/newsletter/winter96.html