

Ask HN: 0 defects per 500,000 lines of code - aerique

<i>(c) &quot;Harlan Mills pioneered &#x27;cleanroom development&#x27;, a technique that has been able to achieve rates as low as 3 defects per 1000 lines of code during in-house testing and 0.1 defect per 1000 lines of code in released product (Cobb and Mills 1990).  A few projects - for example, the space-shuttle software - have achieved a level of 0 defects in 500,000 lines of code using a system of format development methods, peer reviews, and statistical testing.&quot;</i><p>(from: http:&#x2F;&#x2F;amartester.blogspot.nl&#x2F;2007&#x2F;04&#x2F;bugs-per-lines-of-code.html)<p>Now, I&#x27;ve read about NASA&#x27;s rigorous software development process before and I can imagine their software to be of the highest quality but I just cannot believe the above-mentioned claim.<p>Does anyone have further information on how this is possible or can perhaps put this quote into perspective? 
======
dalke
A search for "space shuttle software development" finds many relevant links. 
Of the top 4, I previously read [http://www.fastcompany.com/28121/they-write-
right-stuff](http://www.fastcompany.com/28121/they-write-right-stuff) and
found it very informative. 

Basically, if you're willing to pay for (nearly) bug free code then you can
get it.  Most people, however, aren't willing to pay that much. 

~~~
aerique
Yeah, I've read that before.  I wonder what an entry from their error database
would look like. 

~~~
dalke
Next time please give a bit more detail about what you know and what you are
looking for. 

This is a well published topic, and since you gave a quaternary source, I
assumed you knew very little about the topic and didn't even know the right
keywords for search. 

If you want to know more, see "The Legacy of Space Shuttle Flight Software" at
[http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/2011001...](http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20110014946.pdf)
.  There are more process details at
[http://www.nap.edu/openbook.php?record_id=2222&page=39](http://www.nap.edu/openbook.php?record_id=2222&page=39)
and a detailed presentation of the historical development of the system at
[http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/2010002...](http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20100028293.pdf)
. 

The Space Shuttle Defect Prevention Process is based on but not limited to the
IBM Defect Prevention Process (DPP).  Some of the papers include "Developing
error-free software" (Aerospace and Electronic Systems Magazine, IEEE
(Volume:3 , Issue: 11) ), and "Journey to a mature software process", IBM
Systems Journal (Volume:33 , Issue: 1).  The IBM DPP is described more in
[http://flylib.com/books/en/1.428.1.26/1/](http://flylib.com/books/en/1.428.1.26/1/)
and
[http://jeffsutherland.com/Mays1990DefectPreventionIBMSystems...](http://jeffsutherland.com/Mays1990DefectPreventionIBMSystemsJournal.pdf)
. 

------
informatimago
On the Space Shuttle, each programmer managed 2600 lines of code over 10
years, to make sure they were right. 

How many corporations would allow programmers a productivity of 260 lines of
(correct) code per year?