Wednesday, February 24, 2010

Toyota and Software Problems

A very interesting drama is unfolding with Toyota over quality and safety issues. If anyone knows the quality process, it is Toyota. The mistake was not following the process and being in denial about problems really being problems even in the face of reality. Others are guilty, too. Ford, GM and Chrysler have all had issues - remember the Ford Pinto?

Here's the deal. More than ever, software is an integral part of the electronics that control cars. All software has defects. When a software defect causes a car to accelerate to 100+ mph, that's not a bug. That is catastrophic system failure. A few years back, Volvos were coming to dead stop at highway speeds because of software defects.

A friend of mine last year spent months trying to convince multiple Ford dealers that her Ford Expedition was stalling in the highway. They all said the Electronic Control Unit was fine. Eventually they found the problem - the ECU was bad.

The facts are not all in, but I would not be surprised if many of the Toyota problems are software defects.

My prediction for many years is that one day a major software failure will cause such death and destruction, that congress will start to regulate any software development with safety impact, much like is currently done in the FDA and NRC. The next big area of regulation will likely be transportation. Not that this is the answer. Regulations have fallen short because people find ways to get around them. Ultimately, quality is an ethical business issue.

For many, many years, Toyota has had a halo in terms of quality. Now that halo is gone and may never be recovered.

Keep an eye on this story.

2 comments:

doktat said...

Yes, by the nature of the problem, a software problem was one of my first thoughts ... possibly a race condition on a wayward "if" structure ... one of many unrecognized problems with conditonal logic structures (http://loosely-coupled.blogspot.com/2009/03/conditional-logic-and-code-smells.html).

Also, check out what Steve Wozniak thinks ...
http://www.huffingtonpost.com/2010/02/04/steve-wozniaks-prius-prob_n_448778.html

Randy Rice said...

Thanks for your comment. The thing that strikes me about Wozniak's theory is that he can reproduce the problem.

Likewise, I was thinking of endless loops and memory boundary violations (remember the Patroit missle system failure?).

There was a day when automobile electronics meant wiring only. There was also a day when the accelerator had a cable to the throttle. Now it's electronically controlled and of course, that means firmware. Heck, now you really have to be careful if you work on your own vehicle or else you can fry a $1,000+ component in one second or less.

One other thought. The thing that prompted me to write my original post was after watching the automotive professor on Nightline who had a separate control panel that he could manipulate to reproduce the Toyota problems. None of them ever showed a failure code.

Thanks,

Randy