Dependable Systems I, Reliability-Software Engineering-Lecture Slides, Slides of Software Engineering

Software Engineering one of core subject in Computer Science. This lecture was delived by Dr. Shrya Gopal at Bengal Engineering and Science University as one of lecture from lecture series on course. This lecture includes: Dependable, Systems, Reliability, Failure, Fault, Perceived, Reliability, Requirements, Metrics, Probability, Repair, Distribution

Typology: Slides

2011/2012

Uploaded on 08/26/2012

parveen
parveen 🇮🇳

4.6

(9)

88 documents

1 / 25

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS 501: Software Engineering
Fall 2000
Lecture 21
Dependable Systems I
Reliability
docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Partial preview of the text

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