Industry


Ads by TechWords

See your link here


Toyota's lesson: Software can be unsafe at any speed

One week ago, as news reports attributed Toyota's sudden acceleration problem to a sticking accelerator pedal or a floor mat issue, my mechanic rolled his eyes. "You know, those systems are all electronic," he said.

The problem, he was willing to bet, could be summed up in one word: software.

Sure enough, this week investigators are focusing in on electronics as a potential culprit behind Toyota's woes. Meanwhile, the auto maker has admitted that it has experienced problems with braking control software used in its Prius line and has since updated the software to correct the problem. So far, the model is only being recalled in Japan.

Many drivers would be shocked to know that, when it comes to automotive controls, drivers increasingly fly by wire. A few years ago it was Airbus that ushered in an era in which electronics replaced direct hydraulic controls in airplanes. Automobiles have since followed. Gone are the days when the accelerator or brake pedal were directly connected to the throttle by a physical connector, such as a cable. Today for many makes - not just Toyota - electronics act as the intermediary. Most drivers are still blissfully unaware of this sea change in how cars operate.

It's ironic that Toyota, the leader in building quality automobiles, may have become the poster child for poor software quality. It probably won't be the last auto manufacturer to suffer this fate. Unfortunately for Toyota, software development hasn't coalesced around a Deming to instill the same discipline in the manufacturing of software that made Toyota so successful in automotive hardware.

That culture of quality has largely been missing in commercial software development, where most software licenses include outrageous disclaimers that absolve the developer of any responsibility for harm created by their products, which are typically offered "as is."

The problem is much bigger than just Toyota. Electronics systems - and the networks that connect them - now make up 40% of the value of the typical vehicle. The interaction between these systems are complex. In the brakes alone software controls the anti-lock braking systems, stability control - and the Prius includes a system that converts the energy from braking into power to recharges the batteries.

Some automotive software glitches are merely annoying. For example, my 2005 Subaru Forester suffers from a computer glitch. Whenever the master computer is reset (which seems to be required every time I take the car in for service) the vehicle forgets how to deliver the correct air/fuel mix. In the 20 minutes or so the computer takes to relearn the correct settings the driver is subjected to constant stalling - which in my case happened in the middle of a busy rotary at rush hour. According to my dealer, Subaru has been unable to identify the exact source of the problem in the software. The solution? The dealer must run the vehicle long enough for the problem to self correct before I pick it up.

Other issues are more deadly. In an acceleration incident the driver has seconds to react, particularly in a highway situation. Drivers who don't realize that they're flying by wire may waste precious time trying to pry up the pedal rather than switching to neutral and pulling to the side of the road. "It's scary," my mechanic says.

He also worries about the possibilities for hacking new vehicles. "What if someone pirates something on there?" he asks. There are no antivirus scans for vehicles. What would happen if a terrorist was able to get an insider into the supply chain and insert dormant code into each new vehicle that on a specific date and time would disable braking or cause sudden acceleration in thousands of vehicles?

It's easy to understand that concern. For mechanics, 40% of the vehicle amounts to a black box. They aren't trained to be systems analysts. They must rely on other computers - another black box - to diagnose a wide range of complex issues that crop up with vehicle electronics.

Auto makers, on the other hand, now function more like systems integrators. Dozens of suppliers provide sub-assemblies, many of which come with their own silicon - and those interconnected systems are becoming more elaborate.

Can Toyota elevate software quality to the same level that it achieved with hardware? If not, customers may start to feel that modern fly by wire vehicles are unsafe at any speed.

What People Are Saying

Toyota brakes and accelerators hacked?

I am wondering, is it possible that Toyota's brake and accelerator electronic signals and software have already been hacked into? And is it possible that the braking and/or acceleration of these vehicles could be jammed, or even remotely controlled?

throttle cables

John is correct about old throttles.

I had to sort out someone's Mini in about 1980 because the accelerator cable had come loose, and the return spring held the throttle open.

However, it was manual transmission, and the key killed the ignition when you turned the car off. If an entire modern car control system goes mad, how do you turn it off?

Answer : you can't, unless you can get at the fuel cutoff switch, which is normally somewhere obscure. As Corporal Frazer used to say, "We're all doomed!"

Software ? Hardware ? EMC ?

Software ? Hardware ? EMC ? I've seen no worthwhile analysis of the toyota designs , just isolated comments. One problem is that the hardware and software for engine management , brakes etc all interact to provide abs , traction control , cruise control etc etc these days ! Could the old fashioned cable throttle jam open ? YUP !
Could it snap to full throttle without touching the pedal ? No ( Unless a very badly designed cruise control ).
Remember how in the early days the ECU light would come on and go off ? Hardware / software / emc ? Mostly the dealer or manufacturer neither knew nor cared ! Matters more if it's directly controlling the throttle /brakes ... Bring on the software based electric power steering

Software is people

The question is not whether software is good enough, but whether people can make it so. Whether they want to. And even, whether they all agree what's right. With levers or hydraulics there's no discussion -- physical properties rule. With software, well, here I am reading this article on this site and (a) as I proceeded through the comments pages, for a few clicks there were two page 5's -- repeatable! (b) If we're talking about fixing the problem with finite state machines that's great -- but can someone explain to me why the advertisement at the top of the page as I read this article was, more than once, "Developer Rock Stars: Boost reliability with any threading method. Rock your code?"

toyota fly by ugg

guess what fly by wire fans with a simple cb radio and a linear amp .powered up to 500 watts .just the harmonic bleed over can cause that fly by wire car to stop at the red light and brew me a cup o Joe ! well the coffee may be a little out of range but it may slam on the brake or the fuel peddle for you ! Toyota, people are not a toy don't play with our life's like that ! tell me how Meany life's did this screw-up cost thus far?one is way to Meany ! and should never be different .lets say for the hell of it a micro jam signal could be simple enough to make, one could sit on a rooftop playing with passing drivers causing untold havoc any tine anywhere in the world thanks Toyota ! a new weapon formed against us . in your drive to improve the simple auto you lost sight in also thinking of safety we all want to be safe do we not? i am a simple artist and its plain to see for me why certain things must remain in direct human control at all times .

toyota and the coffee slinging fools that build them

Toyota needs a creep on their team only because a fool can find a fool prof screw-up on a foolish concept !
I can't speak for every poor unpaid labrat but the two main controles ie{fuel/brake peddle} that could effect life and limb i want to always be in my direct control whether or not the car is running or not or running properly this means a manual connection at all times! somehow i would feel a lot safer. my laptop work good but now and the software gets a Lil shabby and i must reboot it . tell me how do i reboot me? common Toyota you live in a startreck world where we don't think anything can go that wrong . I tell you what CEO you stand out in the test track have each car speed toward your face and tell me what brake system you would like to depend on if you had to repeat this exercise every day for a year twice daily as we do driving to and fro to work! the car buyers are not your personal test pilot lab rats . if you want one hire one !

Floormat Software?

So if my floor mat depresses the accelerator, it's software?

I'm not currently driving a Toyota, but you can be sure I checked to see if my floor mat was away from the accelerator. It was eerily close.

As a relatively low time

As a relatively low time private pilot, Im already finding that old carburated airplanes are more reliable than mechanical fuel injection, which in turn are more reliable than the new modern electronically controlled ones.

When touting the reliability of electronic systems over mechanical systems, the software seems to be overlooked. I'll certainly agree that yes, the electronic controls are indeed less likely to fail. However, that doesn't take into account the software...

Newer doesn't always equal better. Unfortunately, some people are finding that out in a most horrific manner... :-(

Testing will probably never reveal all bugs

A program of any significant size probably has more path combinations than can practically be tested. I read somewhere today some cars have more lines of code in them that some jet fighters v. . And if by any chance real-time code is done with significant object-orientation, an impossible testing task probably is even more impossible. I'm sure industry won't be in any hurry to publish or point out any real research on this topic - "root cause" is a problem-solving concept your typical citizen will never comprehend since it can't be explained in a single sound byte. The only real solution is to have an engine kill switch really handy. Doubt THAT will happen.

not true

If the component and paths can be built, they can be tested. Saying you don't want to invest the time and money is one thing, saying you "can't" simply is not true. That is ignorant Beancounter and Managerspeak for we tried to cut corners.