Download Dependable Systems I, Reliability-Software Engineering-Lecture Slides and more Slides Software Engineering in PDF only on Docsity!
CS 501: Software Engineering
Fall 2000
Lecture 21
Dependable Systems I Reliability
docsity.com
Administration
Assignment 3
- Report due tomorrow at 5 p.m. group design with individual parts
- Presentations Wednesday through Friday every group member must present during the semester
docsity.com
Reliability Metrics
- Probability of failure on demand
- Rate of failure occurrence (failure intensity)
- Mean time between failures
- Availability (up time)
- Mean time to repair
- Distribution of failures
Hypothetical example: Cars are safer than airplane in accidents (failures) per hour, but less safe in failures per mile.
docsity.com
Reliability Metrics for Distributed Systems
Traditional metrics are hard to apply in multi-component systems:
- In a big network, at a given moment something will be giving trouble, but very few users will see it.
- A system that has excellent average reliability may give terrible service to certain users.
- There are so many components that system administrators rely on automatic reporting systems to identify problem areas.
docsity.com
Cost of Improved Reliability
Up time 99% 100% Will you spend your money on new functionality or improved reliability? docsity.com
Specification of System Reliability
Example: ATM card reader
Failure class Example Metric Permanent System fails to operate 1 per 1,000 days non-corrupting with any card -- reboot Transient System can not read 1 in 1,000 transactions non-corrupting an undamaged card Corrupting A pattern of Never transactions corrupts database docsity.com
Principles for Dependable Systems
High-quality has to be built-in => Each stage of development must be done well => Testing and correction does not lead to quality => Changes should be incorporated into the structure
docsity.com
Quality Management Processes
Assumption: Good processes lead to good software The importance of routine: Standard terminology (requirements, specification, design , etc.) Software standards (naming conventions, etc.) Internal and external documentation Reporting procedures docsity.com
Design and Code Reviews
- Colleagues review each other's work: can be applied to any stage of software development can be formal or informal
- The developer provides colleagues with: documentation (e.g., specification or design), or code listing talks through the work while answering questions
- Most effective when developer and reviewers prepare well
docsity.com
Benefits of Design and Code Reviews
Benefits:
- Extra eyes spot mistakes, suggest improvements
- Colleagues share expertise; helps with training
- An occasion to tidy loose ends
- Incompatibilities between modules can be identified
- Helps scheduling and management control Fundamental requirements:
- Senior team members must show leadership
- Must be helpful, not threatening docsity.com
Statistical Testing
- Determine the operational profile of the software
- Select or generate a profile of test data
- Apply test data to system, record failure patterns
- Compute statistical values of metrics under test conditions
docsity.com
Statistical Testing
Advantages:
- Can test with very large numbers of transactions
- Can test with extreme cases (high loads, restarts, disruptions)
- Can repeat after system modifications Disadvantages:
- Uncertainty in operational profile (unlikely inputs)
- Expensive
- Can never prove high reliability
docsity.com
Example: Dartmouth Time Sharing (1980)
Step 2. Analyze the data.
- Weekly, monthly, and annual statistics Number of failures and interruptions Mean time to repair
- Graphs of trends by component, e.g., Failure rates of disk drives Hardware failures after power failures Crashes caused by software bugs in each module docsity.com
Example: Dartmouth Time Sharing (1980)
Step 3. Invest resources where benefit will be maximum, e.g.,
- Orderly shut down after power failure
- Priority order for software improvements
- Changed procedures for operators
- Replacement hardware
docsity.com