Robert Downey
News
My Blog
About Me
My Thoughts
Resume
Code
Contact Me
The Right Stuff, Indeed - Error Free Coding @ NASA

Have you ever wondered how the software that runs the space shuttle is written? Well, the answer is very, very carefully.

A decent piece of commercial software typically has around 20 bugs for every 1000 lines of code written. A really good piece of software might have 1 bug for every 1000 lines of code.

NASAHow many bugs per 1000 lines of code does NASA have? Try .00000024. The software  that controls the shuttle has about 420,000 lines of code, and only a single bug was found in each of the previous three versions. Wow.

When you're writing software that absolutely must work or people die, the processes involved are a bit different than all night coding sessions fueled by jolt and pizza.

This particular article claims that, eventually, all software will be written this way. I have to disagree. It doesn't make sense to spend incredible amounts of time (and therefore money) decreasing your bug rate from 20 per 1000 lines to 1 per 1000 lines if it's cheaper to fix those bugs after the software has shipped and they're discovered by customers, as long as your customers don't die and they don't lose a $4 billion spacecraft.

It's all about trade-offs. Sometimes having a bug matters a lot more than other times.