Dealing with automotive software complexity with virtual prototyping - Part 3: Embedded software testing
Victor Reyes, Synopsys Inc.
embedded.com (May 25, 2014)
Code coverage measurement and fault injection testing are two very important activities to increase the quality of tests. However, the application of both activities during the embedded software integration and testing phases is typically very limited. On the one hand, code coverage is mainly applied to on-host software unit testing.
Although useful, on-host testing at the unit test level does not exercise big parts of the embedded software running on the device and therefore it is not sufficient to credibly guarantee that faulty software is not being deployed. On the other hand, conventional fault injection techniques that can be applied during software integration and test phases have multiple limitations in terms of intrusiveness and controllability and offer only a limited set of injection points that could help to reach a more extensive coverage.
In the following subsections we will describe how virtual prototypes can overcome some of these limitations, help increase the quality of the tests, and hence the quality of the embedded software.
The ISO 26262 functional safety standard
Functional safety is the part of the overall safety of a system or piece of equipment that depends on the system or equipment operating correctly in response to its inputs, including the safe management of likely operator errors, hardware failures and environmental changes. Its objective is to eliminate the risk of physical injury or other health damage to the end-product users. Any assessment of functional safety must examine the function of any component or subsystem in the context of whole-system behavior.
ISO 26262 [5] is a functional safety standard that replaces the older and more generic IEC 61508 for passenger vehicles. ISO 26262 addresses hazards caused by malfunctioning behavior of electric and electronic safety related systems. The standard focuses on the electrical and electronic programmable systems (EEPS) but requires assurance that functional safety extends to the parts of the system that the EEPS activates, controls or monitors.
E-mail This Article | Printer-Friendly Page |
|
Related Articles
- Dealing with automotive software complexity with virtual prototyping - Part 1: Virtual HIL development basics
- Dealing with automotive software complexity with virtual prototyping - Part 2: An AUTOSAR use case
- Optimizing embedded software for power efficiency: Part 3 - Optimizing data flow and memory
- Guide to VHDL for embedded software developers: Part 3 - ALU logic & FSMs
- Dealing with clock jitter in embedded DDR2/DDR3 DRAM designs: Part 3