Consider this: Holzmann estimates 50 software errors remain in every 1,000 lines of recently written code, and code that has been thoroughly tested still contains 10. McDonnell estimates the industry average at 10-50 per 1000 lines of delivered code. Should we be frightened? Sure mobile devices, and desktop machines aren’t likely to cause fatal errors that lead to physical devices going haywire, but software controlling objects that move just might.
Android OS has about 10 million lines of code. Now consider the software that runs Paris Metro Line 14: 87,000 lines of Ada. It controls the line’s train traffic, regulates the train speed, manages several alarm devices and allows for traffic of both automatic and non-automatic trains on the same line. One piece of software controls moving trains, and the other controls a mobile device.
The F-22 Raptor consists of about 1.7 million LOC, the F-35 Joint Strike Fighter, 5.7 million LOC. Boeing’s 787 Dreamliner, requires about 6.5 million LOC to operate its avionics and onboard support systems.
Food for thought.
 Holzmann, G.J., “The logic of bugs”, Foundations of Software Engineering, pp.81–87 (2002).
 McDonnell, S., Code Complete, (2nd ed.) Redmond, Wa.: Microsoft Press, (2004).