“Software is like entropy. It is difficult to grasp, weighs nothing, and obeys the Second Law of Thermodynamics; i.e., it always increases.” - Norm Augustine, former Chairman – Lockheed Martin Corporation
The recent issues with Toyota’s automobile design should be a wakeup call to all drivers.
As we make more and more complex vehicles, much of the hitherto mechanical and hydraulic systems are now being controlled by embedded real-time software. And there is no such thing as bug-free software.
Software problems have been with us forever. One problem almost aborted the first moon landing at the last minute, and software is a prime suspect in the crash of an Air France A320 back in 1988. Now the consumer automobile market is following in the footsteps of the aerospace industry – with increased employment of “fly-by-wire” and integrated vehicle systems.
Even if the current problems with our high-tech automobiles turn out to be unrelated to their embedded software (and for the techies reading this, I include firmware, microcode, and any other programmable instructions), it’s only a matter of time before Murphy’s Law rears its ugly head.
NASA has strict software standards for manned spaceflight and other critical systems. Granted, satellites and spacecraft are orders of magnitude more complex than passenger automobiles, but the sheer numbers of cars on the road compel us to ensure that their embedded software is as bug-free as possible.
Just like the National Highway Traffic Safety Administration (NHSTA) imposes safety standards on a car’s mechanical system, they should similarly develop, implement, and enforce standards for embedded passenger automobile software. Automobile manufactures and their subcontractors should be required to follow these standards for safety and reliability. This software should be made tamper proof to minimize the risk of malicious hacking. Software code should be published on the internet so that it may be reviewed by knowledgeable end users for problems. Will this result in an incremental increase in the price of a car? Maybe. But what is the price of a massive recall, not to mention the human suffering that might result from faulty software?