Send Close Add comments: (status displays here)
Got it!  This site uses cookies. You consent to this by clicking on "Got it!" or by continuing to use this website.nbsp; Note: This appears on each machine/browser from which this site is accessed.
Bugs and software systems


1. Bugs and software systems

2. Hopper: First computer bug
In the early days of computers, the first documented computer bug was a "moth" that had short-circuited a switch in a computer circuit.

The first bug was documented by Grace Hopper (first computer bug) , though the term bug goes back further than computers.


Grace Hopper is known for the saying that it is easier to ask forgiveness than to ask for permission.

3. Hopper: Permission

4. Hopper: Permission
It is often easier to apologize afterwards than it is to get permission beforehand.

5. Dijkstra: Program testing
Dijkstra has said that if debugging is the process of removing bugs from a program, then programming must be the process of putting them in.

6. Dijkstra: Computer bugs

7. Bugs and software systems
Systems inherently have reliability problems.

8. Reliability
Reliability is a measure of how something will continue to work into the future (e.g., immunity to physical damage).

Reliability is a measure of how well the product performs without failing.

9. Software bugs
A computer software bug is an error in the software system.

Why are there bugs in software systems?

10. Large software systems
A large computer hardware/software system is designed to consist of 500 independent components. Assume that the probability that each component works correctly is 0.999.

11. System software bugs
If the probability that a component is correct is 99.9%, what is the probability that a system of 500 independent components working together is correct?
   =POWER(0.999, 500)

is about 0.6, or 60.0%.

Using this model, why are there bugs in software?


Here is why large software systems tend to have bugs.

12. Programming languages
Programming languages:

13. Checking software
C#: Microsoft rewrote their C# compiler from the ground up to support more edit-time and design-time feedback to programmers.

14. Hierarchy

15. End of page

16. Multiple choice questions for this page