Recent history attests to the need for improved software testing methods in the automotive industry. Take, for example, Toyota’s October 2005 recall of 75,000 Prius hybrids in North America. A logic error in embedded software exacted a huge, if undisclosed, financial cost for the company and an inestimable cost in consumer confidence. And while we may never know the exact series of events that led to flawed code being shipped in the Prius, we do know the key to delivering bug-free software: test early and test often.

However, the distributed nature of automotive control systems, as well as the nature of the embedded software development process itself, makes testing a challenge. In the first place, simply gaining access to the necessary hardware environment for early and frequent testing may be expensive or impracticable. Moreover, effective validation and testing of distributed applications requires a sophisticated software infrastructure that is unlikely to be available off the shelf for the wide variety of microprocessors and peripheral hardware used in automotive systems and inordinately time-consuming and expensive to develop in-house. These factors speak to the need for testing environments that are abstracted from the underlying hardware architecture, capable of advanced regression testing and debugging of distributed applications, and aware of the operating system and protocol standards used in the automotive industry.

Note: By clicking on the above link, this paper will be emailed to your TechOnLine log-in address by Mentor Graphics.