|
|
Line 1: |
Line 1: |
| = Study Guide = | | = Study Guide = |
|
| |
| Overview: What does Software Safety refer to?
| |
| Software safety refers to the problems that arise from (a) the software NOT doing something, (b) the software doing something it should NOT do, or (c) instability in the software's environment, e.g., virus, hacker, or system power intermittency. Such problems have had serious consequences in medical, aviation, financial, military, communication and others areas.
| |
|
| |
|
| |
| How and why does bad software come about?
| |
|
| |
| * Failure in software systems occur because designers and programmers often don't know all the conditions for which to check. There is no way to determine what changes may be made to the software or hardware in the future. Complete testing of complex systems is impossible. As the software development life cycle continues to grow shorter, producers are forced to compromise risks and benefits. Unfortunately, the risks can not be known completely.
| |
|
| |
|
| |
|
| |
| What can be done?
| |
|
| |
| 1. How can we improve software reliability and correctness. Among these are:
| |
| * Precise, clear and complete specifications - The more accurately a program is documented, the more likely it is to produce the desired results.
| |
| * Use of more advanced programming paradigms - For example, Object Oriented Programming (OOP), uses encapselation to separate the data and internal workings of objects from one another. The advantage comes when changes are made in the code. Older programming paradigms allow a domino effect to take place when one piece of code is modified. OOP reduces the changes of unforseen side effects taking place.
| |
| * Mathematical Verification - Use of theorem proving software to test program correctness. The problem is that this approach takes a great amount of time and is by default limited to the specification.
| |
| * n-version programming - Develop independent versions of the same program with the idea that they will not err at the same point. The problem is that programs usually err where the problem at hand was difficult conceptually, so the programs are likely to err in the same location.
| |
|
| |
| 2. Who is responsible for software errors?
| |
| * In most situations, it is hard to place the blame on one specific group. Software errors are commonly caused by ambiguous specifications, inaccurate programming, or insufficient testing.
| |
|
| |
|
| |
|
| |
| Some fields where major accidents have occurred
| |
|
| |
| 1. Medical - As medicine has advanced a great deal in the last decades, computer have been assigned many tasks which are to meticulous, to fine, or too detailed for humans to perform. In many cases operators tell the machine what dose to give and the computer-controlled machine performs the actual treatment. Small glitches in the code or unforeseen situations may lead to the wrong dose being administered and possibly to death of the patient.
| |
| 2. Military - Most advanced weapon systems today are computer controlled. Planes such as the F-15 or missiles similar to the Cruise and Patriot missiles used in the Gulf War, are fully dependent on computers. Again little glitches in the code may lead to engines or guidance systems over/under reacting to certain situations and that leading to devastating accidents.
| |
| 3. Deployment control systems - Computers have proved to ideal for monitoring and deploying various vehicles from ambulances to airplanes. In many cases the systems which were installed were not tested sufficiently and did the opposite of what they were intended. Airplanes for example may be told to take similar paths.
| |
|
| |
|
| |
|
| |
| Case Studies
| |
|
| |
| 1. Financial
| |
| * Computer Error in phone bills The Risks Digest
| |
| * Largest Computer Error in US Banking History: US$763.9 BILLION? The Risks Digest
| |
| * Roundoff Error on Detroit Edison bills The Risks Digest
| |
| * Rounding Errors and Grammar Checkers The Risks Digest
| |
| * Computer Disk Crash Causes Misprinted Ballots The Risks Digest
| |
| * Lost Canadian Crime Statistics Data The Risks Digest
| |
| * Bank Mailing Problem The Risks Digest
| |
| * Programming Errors Affect State Lottery The Risks Digest
| |
| * Pepsi promotion error blamed on computer glitch The Risks Digest
| |
| * Computer Scoring Glitch at Olympics The Risks Digest
| |
|
| |
| 2. Other Events
| |
| * Nuclear Computer Safety Fears The Risks Digest
| |
| * Taipei subway computer crash The Risks Digest
| |
| * Click *here* to Lower the Fuel Rods The Risks Digest
| |
| * Patriot: The Missile that Missed The Risks Digest
| |
| * Girl Killed in Automatic Car Window The Risks Digest
| |
| * A320 engine control problem at Gatwick The Risks Digest
| |
| * Software Problems on Hubble Too The Risks Digest
| |
| * Software Bug on TOPEX Spacecraft The Risks Digest
| |
|
| |
|
| |
|
| = Table of Contents = | | = Table of Contents = |
Study Guide
Table of Contents
General
* Safety-critical systems Oxford University - this site contains information on safety-critical systems where lives may be at risk involving software and computers.
Medical Safety
Let's face it, just about everything in a hospital is tied to a computer somewhere. So what happens if these machines don't produce their expected results?
Aviation and Space
What happens when you send a multi-million dollar sattelite into orbit and the program has a bug in it? How about if an Air Traffic Controller crashes 104 times in one day?
The Case of the "Killer Robot"
How would you like to be killed by the robot you're operating?
Other Computer-Related Accidents
* Risks Digest Forum - Forum on risks to the public in computers and related systems
* Taipei subway computer crash The Risks Digest
* Girl killed in automatic car window The Risks Digest
Case Studies
A list of links from The Risks Digest to different kinds of problems that can arise when computers crash or the software is not fully tested during development.
1. Financial
* Computer Error in phone bills RD, May 1996
* Largest Computer Error in US Banking History: US$763.9 BILLION? RD, May 1996
* Roundoff Error on Detroit Edison bills RD, May 1996
* Rounding Errors and Grammar Checkers RD, June 1996
* Computer Disk Crash Causes Misprinted Ballots RD, Sept 1994
* Lost Canadian Crime Statistics Data RD, Sept 1993
* Bank Mailing Problem RD, Aug 1993
* Programming Errors Affect State Lottery RD, Dec 1992
* Pepsi promotion error blamed on computer glitch RD, June 1992
* Computer Scoring Glitch at Olympics RD, Aug 1992
2. Engineering Events
* Taipei subway computer crash RD, June 1996
* Click *here* to Lower the Fuel Rods RD, June 1996
* Patriot: The Missile that Missed RD, Apr 1992
* Girl Killed in Automatic Car Window RD, June 1992
* Software Bug on TOPEX Spacecraft RD, Aug 1992
* Software Problems on Hubble Too RD, Sept 1992
* A320 engine control problem at Gatwick RD, Oct 1992
* Nuclear Computer Safety Fears RD, Oct 1991