There are more than 100,000,000 lines of code running over dozens of processors in a contemporary automobile. That programming controls everything from the transmission gear selection to the tail light malfunction indicator. If you’ve ever had an automotive computer problem, you know that it’s an expensive, trial-and-error nightmare. Often, the dealer or repair shop simply replaces the whole part and tells you to “give it a shot.”
Last summer, I retired the family’s Dodge minivan after many years of service. (And I have no regrets about owning one!) I was amazed and frequently annoyed at the number of issues I had with the on-board computers: the body control module, transmission computer, etc. There were code compatibility issues, wiring issues and other assorted problems that would cause the dashboard to shut down while traveling 65 mph on a crowded highway. The repair shop was happy to do a “reprogram” for about $1000. My contract programmers used to get $100/hour, yet this task took the dealer 15 minutes to complete – and there were still bugs.
The recent problems with Toyota, though initially deemed mechanical, are now being considered “electronic,” and are not unique to this manufacturer; Ford has also issued recalls. Every manufacturer has a problem with programming whether they like to admit it or not. You can survive a computer crash because of bad code; you may not survive a car crash because of bad code. Losing the scan of Aunt Bertha’s crumb cake recipe is far different from running through a red light head-on into a dump truck.
As a former engineer, I’m surprised this crisis didn’t occur sooner. It’s just incredibly hard to design and debug distributed computing and control systems, much like those we find in today’s cars. However, we continue to make these systems even more complex and co-dependent. We are at the mercy of both an incompetent programmer who writes bad car code and the wayward squirrel that chews through the wire that connects the body module computer to the transmission.
Manufacturers who ride the complexity curve must be prepared for fall-out when the bad glitch occurs. The alleged “cover ups” that we’ve heard about are more likely an indication that the manufacturer has a complexity crisis and really doesn’t know what’s going on. And that’s bad for all of us.