Daniel B. answered 12/24/20
PhD in Computer Science with 42 years in Computer Research
I do not know what counts as random, and what counts as systematic,
but here are some famous and common bugs:
Famous insufficient representation:
- Y2K: Only two digits used to represent a year.
- Arian 5: Only 16 bits used to represent acceleration.
Famous timing:
- Space shuttle: The first flight was scrapped because one clock drifted off.
- Patriot missile: A clock drifted, causing Patriot missile to miss income Scud missile
Common security bugs:
- SQL injection: Failure to check validity of user input.
- Buffer overrun: Failure to check string length before storing.
Common C programming bugs:
- "if (a = b)" instead of "if (a == b)"
- "if (a == b&c)" instead of "if (a == (b&c))"
- "for (unsigned i = 10; i >= 0; --i)"
Common parallel programming bugs:
- Failure to put operation into a critical region
- Failure to release a lock when waiting