Thursday, April 2, 2009

NASA gives some telling insights into software

An illuminating report by NASA "NASA Study on Flight Software Complexity" has much to offer people involved in software, be they programme manager, developer, tester, architect etc - I wish this was a book already! I'm seriously going to read the whole thing (even at 264pp) because even a one hour skim has given me so much already - truly a must read!

One of the most AMAZING things was, how many lines of code are in a GM car? when I saw the answer I had to get the rest of the team to answer the question - one of them could not even understand that there would be any lines of code in a GM car! check out the graph:

Yep, that's right, by 2010 there will 100 million lines of code in an average GM car - jaw dropping! how many bugs would you expect in 100 million? - now if GM build their code to the same level as NASA and other flight companies (good luck with that) then according to NASA (Appendix D)
"For the new manned space program we should probably expect close to 10 Million lines of flight code, and one to two orders of magnitude more ground software. If we go by industry statistics, a really good (but expensive) development process can reduce the number of flaws in software to in the order of 0.1 residual defects per one thousand lines written. A “residual defect,” for all clarity, is a defect that shows up after the code has been fully tested and delivered with an industry-standard rigorous testing process. A system with a million lines of code, then, should be expected to experience at least 100 defects while in operation. Not all these defects will show up at the same time of course, and not all of them will be equally damaging."
OMG - even if GM write aeronatics quality code then an average GM car in 2010 will have 10,000 defects. Now there's a reason to get into testing as a job ;-)

No comments: