Course Details
Subject {L-T-P / C} : CS6418 : Software Reliability { 3-0-0 / 3}
Subject Nature : Theory
Coordinator : Prof. Durga Prasad Mohapatra
Syllabus
Basic Ideas of Software Reliability, Hardware reliability vs. Software reliability, Reliability metrics, Failure and Faults – Prevention, Removal, Tolerance, Forecast, Dependability Concept – Failure Behaviour, Characteristics, Maintenance Policy, Reliability and Availability Modeling, Reliability Evaluation Testing methods, Limits, Starvation, Coverage, Filtering, Microscopic Model of Software Risk.[10 Hours]
Computation of software reliability, Functional and Operational Profile, Operational Profiles – Difficulties, Customer Type, User Type, System Mode, Test Selection - Selecting Operations, Regression Test. [7 Hours]
Classes of software reliability Models, Time Dependent Software Reliability Models: Time between failure reliability Models, Fault Counting Reliability Models. Time Independent Software Reliability Models: Fault injection model of Software Reliability, Input Domain Reliability Model, Orthogonal defect classification, Software availability Models. Software Reliability Modeling: A general procedure for reliability modeling. [12 Hours]
Short and Long Term Prediction, Model Accuracy, Analysing Predictive Accuracy – Outcomes, PLR, U and Y Plot, Errors and Inaccuracy, Recalibration – Detecting Bias, Different Techniques, Power of Recalibration, Limitations in Present Techniques, Improvements.[7 Hours]
Course Objectives
- To learn about the engineering techniques for developing and maintaining reliable software systems.
- To measure the reliability of software systems.
- To understand about fault prevention, fault removal, fault tolerance and failure forecasting in software systems.
- To learn different time dependent and time independent software reliability models and design reliability models for software systems.
Course Outcomes
After reading this subject, students will be able to: <br />1. Develop reliable software systems. <br />2. Understand the fault handling and failure forecasting techniques in software systems. <br />3. Understand different time dependent and time independent software reliability models. <br />4. Design reliability models for software systems.
Essential Reading
- J.D. Musa, Software Reliability Engineering, McGraw Hill, New York , 2004
- H. Pham, Software Reliability, Springer Verlag, New York , 2000
Supplementary Reading
- Patric D. T.O Connor, Practical Reliability Engineering, 4th Edition, John Wesley & Sons , 2003
- D. Reled, Software Reliability Methods, Springer Verlag, New York , 2001