A broad range of automotive systems are controlled by feature-rich microcontrollers. Any reasonable person might expect microcontrollers and the capabilities provided by more sophisticated software not only to simplify product design, but also to make the end applications safer and more reliable, but unless good product design and testing practices are followed from the start, the product may contain hidden hazards.

The entire product development process, from the initial specification, through selection of development tools and design methodology, to implementation, quality assurance, and maintenance, must be planned to minimize the number of software failures and limit the damage that they can do. Without adopting safe and reliable design practices, the potential for failures ranging from the merely annoying to catastrophic is growing exponentially.

In this paper, the product development and testing practices essential for developing reliable microcontroller-based applications are reviewed with the goal of product safety and reliability. The regulations and standards required by governmental and industrial bodies are also discussed, to assist the reader in minimizing the burden of meeting their requirements.