The Soviet Gas Pipeline explosion - if the whole CIA story is true at all - should not be labelled a bug... The code allegedly did exactly what it's creator intended ;-)
History's Worst Software Bugs (2005)
21–30 of 34 posts
Re: History's Worst Software Bugs (2005)
#22> Programmers respond by attempting to stamp out the gets() function in working code, but they refuse to remove it from the C programming language's standard input/output library, where it remains to this day. gets was deprecated in C99 and removed in C11.
I think really when people manipulate strings in c/c++ they use the safe functions that come with frameworks.
Re: History's Worst Software Bugs (2005)
#23Re: History's Worst Software Bugs (2005)
#24Earlier quoted context omitted.
The obvious fix is to use a 64bit integer to hold timestamps.
That's the fix, of course, but what about all the embedded software that will last enough to cross that barrier but that won't be upgraded from its 32bits timestamps?
Re: History's Worst Software Bugs (2005)
#25Seem to me this list needs to incorporate how easily these bugs could have been avoided/detected/fixed, rather than just how dire the consequences were. It doesn't say much about what people did to test their code. For instance the first one in the list is something unit testing would have fixed. Take the trajectory function, plug numbers in, see if it's correct. Some of these things were a lot more obvious than othe…
Unit tests would be highly unlikely to catch most of those. "a formula written on paper in pencil was improperly transcribed", "neglect to properly "seed" the program's random number generator, A HW bug that's not close to obvious numbers to check, intentionally inserted bugs, input outside of the intended design, etc.
offtopic, but a unit type would have prevented that. i had no idea how many errors i was making in my math programs before i started using F#'s type checker to make sure all the types lined up properly.
Re: History's Worst Software Bugs (2005)
#26Earlier quoted context omitted.
Unit tests would be highly unlikely to catch most of those. "a formula written on paper in pencil was improperly transcribed", "neglect to properly "seed" the program's random number generator, A HW bug that's not close to obvious numbers to check, intentionally inserted bugs, input outside of the intended design, etc.
>"a formula written on paper in pencil was improperly transcribed" offtopic, but a unit type would have prevented that. i had no idea how many errors i was making in my math programs before i started using F#'s type checker to make sure all the types lined up properly.
Re: History's Worst Software Bugs (2005)
#27Earlier quoted context omitted.
>"a formula written on paper in pencil was improperly transcribed" offtopic, but a unit type would have prevented that. i had no idea how many errors i was making in my math programs before i started using F#'s type checker to make sure all the types lined up properly.
I don't know the actual transcription error, but how's it going to find a 5 being made a 6 or something?
all of those can get caught with type checking, but it isn't perfect
Re: History's Worst Software Bugs (2005)
#28Seems more like a list of the software bugs with the most severe consequences.
Re: History's Worst Software Bugs (2005)
#29Seems more like a list of the software bugs with the most severe consequences.
Re: History's Worst Software Bugs (2005)
#30The Soviet Gas Pipeline explosion - if the whole CIA story is true at all - should not be labelled a bug... The code allegedly did exactly what it's creator intended ;-)