The Toyota Prius is a popular car with people looking to save gas, but recently a software failure has left some owners stranded. The Prius is a hybrid vehicle, meaning that it is powered by both gasoline and electricity. The gas engine takes its turn when the vehicle needs extra power or when the batteries are too low to power the car. This requires a sophisticated coordination of the two powerplants and, not surprisingly, it's managed by a computer. That's the problem. Here's an excerpt from a Baseline Magazine article on the problem:
In its initial investigation, Toyota said on July 22 it believes that almost half of the 67 complaints received by NHTSA are related to an error in software involving the hybrid electronic control unit. When functioning properly, the control unit allows the vehicle to smoothly shift between its electric motor and gas engine. It is still investigating the remaining cases, but "due to the limited amount of information surrounding the incidents" it was having difficulty determining the exact cause.
Or in words familiar to any software engineer, "it's an intermitent bug." When the bug kicks in, the car stops. And unlike the unexpected stops of my youth where the problem was a broken fan belt, you can't use a spare pair of panty hose to fix it.
Most modern cars and trucks are mobile distributed computing systems. The number of microprocessors for controlling literally everything is astonding. Even so, the Prius seems to reach a whole new level of computer control due to it's powerplant. Again, from the Baseline article:
After slipping into the driver's seat, the owner simply pushes a button on the dash-much as you might press the On button on a computer—and the vehicle powers up. This technology is often referred to as drive-by-wire, as there are no traditional cables, hydraulic lines or linkages connecting the gas pedal to the engine, the brake pedal to the brakes, or the stick shift to the transmission. If the car is in Park or Neutral and you press down on the gas pedal, the engine will not race as it would in a normal car, because the computer determines there is no purpose in doing so.
Not to long ago, I wrote about a virus that had been written to infect Lexus navigation systems. The vector was the Bluetooth phone system. There's nothing to indicate that the Prius problem is a virus, but it's an interesting possibility given the sophistication of the computing platform--not to mention a chilling prospect. The Lexus virus wasn't dangerous because it only affected the GPS system, but I have no doubt that we'll see attacks on more critical systems that result in property damage or even loss of life at some point.