After Recent Toyota Software-Related Recalls, Should We Fear Computer-Controlled Automobiles?
Software Reliability and Your Car: Buggy Software Can Affect Safety
I suspect that a lot of car owners didn't even know that their vehicle speed and brakes were controlled by a computer, and many may be frightened by that knowledge. After all, our experience with computer software reliability on our laptops and desktops is not all that great-consider the frequency of complaints about computers 'crashing,' 'hanging' and 'freezing.' These expressions, and the famous references to Microsoft Windows 'Blue Screen of Death' take on a whole new meaning when pondering it happening to a computer controlling your car!
The fact is, cars these days have many computers on them-some as many as 50! They are more correctly referred to as "microprocessors" but that is pretty much the same type of hardware found at the heart of all personal computers. The scary thing that they have in common is that they are controlled by a set of instructions know as a 'program' or collectively as 'software.' These programs are of course written by humans and can contain errors that may cause undesirable results.
So, just how likely is it that our automotive software has bugs in it - and how serious might the flaws be to our safety? Well, it is a function of how complex the software is and the environment in which it operates. Both of these complexities are on the rise as automobiles are designed with more and more requirements on their software. And while we can be pretty sure that the engineers programming key safety-related systems like throttle control and braking are more careful about designing and testing their code than someone writing, for example, a word processing program-- the fact is that greater complexity increases the odds of error. When complexity exceeds a certain level it becomes impossible to test the software for all scenarios which it might encounter in actual operation. Complex programs are filled with numerous 'IF-THEN-ELSE' logical forms that create too many possible paths through the code to be able test them all.
Software control of other critical systems has been used for some time before it became commonplace in automobiles: nuclear power plants, for example. Another good example is "fly-by-wire" flight control systems on aircraft. One of the first such systems was used on the NASA Space Shuttle. It is interesting to consider how the Shuttle was designed to minimize the likelihood of computer errors. Its flight control system actually has five identical computers all running software written to do the same job. Four of these computers run the exact same software, and the fifth runs a different version of the software written independently to the same requirements. Thus it has both software and hardware redundancy. If all four of the identical systems do not agree on a control output then they "vote" and shut one down if it disagrees. Interestingly, if the vote is tied at two to two then one pair is randomly selected. (Imagine your life depending on a coin toss!) These billion-dollar vehicles thus have very elaborate backup and redundancy built in to minimize the risk. Unfortunately, you can be sure that your $20,000 Prius does not have anywhere near that level of redundancy or safety built into it!
Nonetheless, as an engineer who has written a few computer programs myself (though not for automotive applications), I have a reasonable amount of faith in the steps taken to minimize the risk in today's automotive control systems. And serious failures are not limited to software controlled systems-the old ways certainly had their share of hazards. Consider for example, the case of an engine suddenly racing as is being blamed on software in some Toyotas today. In the "old days" before electronic throttle control the same thing was easily caused by a sticking throttle plate in the carburetor! I believe today's auto control systems, in spite of their complex software, are much safer than the old ones.
Sources:
Howstuffworks.com, "How Car Computers Work," accessed Feb. 10, 2010.
Wikipedia, the free encyclopedia, "Space Shuttle," accessed Feb. 10, 2010.
Wall Street Journal, "Cars Are Getting Scary Again." Feb. 9, 2010.
Marketwatch.com, "Like it or not, tech is taking over your car," Feb. 10, 2010.
Marketwatch.com, "Ford faces some brake problems of its own," Feb. 4, 2010.
Published by Dr. James Stoos
Academically and professionally a scientist and engineer, but what Dr. Stoos most likes to sound off about is public policy issues and a bit of politics. View profile
- Computer Controlled VehiclesComputer controlled vehicles are required to replace our archaic independently controlled system. We have the computer capacity. We need to simply develop the navigation and communication infrastructure and the software.
How to Write a Computer Software ReviewA concise, easy-to-follow overview of writing the key components of a computer software review, including describing the software's capabilities, quality, speed and accessories.- Ways to Troubleshoot Computer SoftwareSome helpful tips that will help you fix computer software with any type of hardware and operating system and make your programs run faster.
- The Best SAT Preparation: A Class, a Book, or Computer SoftwareChoosing the best method of SAT Preparation can be difficult, for you, perhaps it's a class, or maybe a book, or maybe, even computer software. Strong preparation for the SATs is key for a great score.
- How to Ace an Interview with a Computer Software MakerThis article will discuss specific tips to consider, when interviewing with a computer software maker based on actual personal experience. Presentation skills, general demeanor and holding the interviewer's attention...
- Free Computer Software that Delivers, Courtesy of Open Source
- Car Safety: Automobile Computer Systems That Can Lead to Injury
- How To Read Car Safety Ratings
- How the Chevrolet Malibu Stacks Up Against Honda, Toyota and Nissan
- Toyota Said to Be Responsible for the Burning Death of Raminder Singh
- Become a Computer Software Engineer
- Career Profile- Computer Software Engineers
- Cars rely to a great extent on computer programming.
- More complex software has greater potential to have undiscovered errors.
- Today's automobiles may have as many as 50 computers in them!



