In 2012 there were roughly 100 million lines of code in an average car, a number that has been rapidly increasing for decades, and is no doubt significantly higher now. If you printed out 100 million lines of code, it would consume approximately 1.8 million pages of text, or a stack of paper approaching 200 metres in height. Assuming a text coverage of about 5%, if you were using (say) an HP inkjet printer which uses 35g of ink per thousand pages, it would take about 630kg of ink to print and you would make your way through over 50,000 ink cartridges (which, at about $CAD40 a piece, would set you back a couple of million dollars). On a 20ppm printer, it would take over 600 days of continuous printing, not allowing for time between cartridge changes, paper refills, etc, nor the fact that the printer would need to be replaced every day or two as it reached the end of its useful life. To be fair, much of that would be duplicate code, well-tested libraries, and standard functions, lots of it is involved in stuff like entertainment systems, USB readers, and other non-critical systems and, of those 100 million lines, ‘only’ around 10 million are actually involved in systems that make the vehicle do its thing.
The industry average for bugs varies between 15-50 defects per thousand lines. Microsoft reckon they have that down to 0.5 per thousand which, as anyone who has ever used Microsoft software will no doubt agree, is still way too high. I think that it might result from a peculiarly rosy definition of ‘defect’, and it certainly doesn’t include code behaviours that are entirely intentional but horribly wrong. But let’s assume that they are being open and truthful about it and that this really is a realistic defect rate. In that case, in the 10 million lines of code that make the vehicle work, there will be roughly 5000 defects, a good number of which will definitely cause security holes, some of which might be positively dangerous in their own right. Most of those vehicles are wirelessly connected and updated over the air, and there has been a significant increase in in-vehicle networking over the years (Cisco are becoming big players here) so the opportunities for system-level bugs and vulnerabilities are growing all the time. Meanwhile, the human side of the Internet continues to explode, and so the opportunities and tools available to skript kiddies expand at an exponential rate.
The average car weighs around 1500kg and can easily travel at 140kph. Just saying.
I’m not particularly worried about intelligent machines becoming our robot overlords. We’ve really got a long way to go before we even know what such a thing is, let alone how to make one and, by the time we do get there, we’ll know how to augment ourselves so that we are at least a match for them. But unintelligent machines are another matter.
Address of the bookmark: https://www.codeinstitute.net/blog/much-code-cars/
Originally posted at: https://landing.athabascau.ca/bookmarks/view/3478214/unintelligent-machines