Automotive Domain

McKinsey 2018:

O. Burkacky, J. Deichmann, G. Doll, and C. Knochenhauer, ‘Rethinking car software and electronics architecture’

“Snowballing complexity is causing significant software-related quality issues, as evidenced by millions of recent vehicle recalls.”

Structural tests

The software development in automotive engineering must strike a careful balance between the desired functionality, safety and reliability versus the system cost implied by compute and memory demands.

The code should be tested as extensively as necessary to bound the cost of recalls or liability claims arising from marketing a safety-critical system. At the same time, economic constraints demand streamlined products so that the instrumentation overhead of structural testing can often not be carried into the product. This means the proven rule “test what you deploy, and deploy what you test” is not always followed.

CEDARtools® offers a new method to run and monitor tests at higher tests levels without any software instrumentation. This allows the measurement of structural coverage according ISO 26262 (statement coverage, branch coverage) not only at unit test level, but also for integration tests in a HIL environment and system tests during test drives.

Logical Execution Time (LET) concept

The LET concept abstracts from the physical execution time on a given platform all the way to the times of the read and write accesses. The actual execution time is arbitrary as long as it remains within these points in time. The LET concept relies on one necessary prerequisite: It must be ensured that each task is safely calculated within an assigned time window. Static analyses do not currently provide sufficient precision so that additional measurement methods are employed to ensure that deadlines are met. Methods like CEDARtools® that do not require software instrumentation are of particular interest in this context as they measure the actual software status.

Analysis of Cause – Effect Chains

The migration from single-core systems to multi-core systems, especially in the automotive domain, comes with many technical challenges. It is essential to have comprehensive monitoring capabilities in Electronical Control Units (ECUs) such as Engine Control Modules (ECMs), Transmission Control Modules (TSMs), or Central Powertrain Control Modules (CPCMs) so as to obtain and verify statistics on runtime performance, worst-case execution times (WCET) and worst-case response times (WCRT).

Software instrumentation, especially at higher test levels (integration test, system test), often has serious limitations. It affects the temporal behavior of software and forms the basis for Heisenbugs. These are avoided by using the CEDARtools® monitoring solution.

We enable a smooth migration from single to multi-core implementations. Thanks to the CEDARtools® monitoring technology, racing conditions and performance problems can be easily detected. Since our solution does not instrument your code for testing, but rather tests the production system on site, Heisenbugs no longer bother you.