Motor vehicles drive the modern world, and have crucial roles in commerce, logistics, and recreation. With an estimated almost 1.5 billion cars on the planet1, and tens of millions of new vehicles being produced every year2, the importance of motor vehicles is only increasing with time.
Modern cars include many embedded systems to improve the safety and comfort of drivers and passengers by providing functions such as adaptive cruise control and tyre-pressure monitoring.
Many of the embedded systems used in modern cars are safety-critical. For these systems, it is essential that the software is checked to ensure that it functions correctly, as even slight faults could result in serious injury. The world over, automotive software is tested to the ISO 26262 standard to ensure functional safety.
Verification requirements for automotive software
Software verification is crucial to demonstrate that automotive software meets its functional and nonfunctional requirements. A range of activities support meeting verification requirements for automotive software, including the following.
Automotive software needs to be tested to verify that it functions correctly. To meet ISO 26262 requirements, requirements-based, interference, fault injection, and resource usage tests should be performed.
Structural coverage analysis (code coverage analysis) for automotive software ensures that requirements-based testing has sufficiently tested the code structure. Structural coverage analysis is required to meet ISO 26262 requirements, and the required level of coverage depends on the criticality (ASIL) of the software being verified.
Safety-critical automotive software must operate within timing deadlines. Timing analysis, including worst-case execution time analysis, is required to demonstrate that the code meets these deadlines and ISO 26262 requirements.
Multicore processing for real-time software makes systems less deterministic, as program behavior can be influenced by interference from software running on different processors. The use of multicore processing for automotive applications requires additional analysis and testing to demonstrate that software meets its timing deadlines in the context of multicore interference.
“We have been really impressed with Rapita throughout our relationship. RVS provides an extremely efficient and robust verification solution, and Rapita has worked together with us to support our preferred testing approach using test scripts. Based on the success we’ve had with RapiTest and RapiCover already, we’re looking forward to start using RapiTime to complete our rigorous testing for safety ”
Dr. Xavier Jean
R&D Software Engineer
EasyMile