Software quality assurance in electronic control devices, according to the ISO 26262 standard, is often a fairly difficult task in practice. Especially in real-time-critical multicore systems, typical control-flow-oriented methods, which use instrumentation code additionally built into the code for coverage measurement, very quickly reach their limitations. A new non-invasive method now allows for the first time determining the statement (C0 coverage) and branch coverage (C1 coverage) even with optimized code. The measurement is based on code trace data, which were delivered by MCDS, NEXUS, ETM and CoreSight hardware trace channels.
The sophisticated trace configuration management simplifies the collection of trace data for code coverage processing. Based on the Universal Emulation Configurator technology a management front-end enhances the generation of trace configuration, which collects the data of specific code ranges for later proof of code coverage. A special approach helps to analyze the debug information from the program file to reconstruct the program control flow for all supported methods of code coverage analysis. These trace data collection tasks can be used with trace solutions for on-chip trace, external collection of trace data by via Aurora trace interface and up to 4 GB of external trace memory or by execution of test cases via simulator.
The trace code coverage chart page for a code range (typically a function) contains a bar chart, which displays the code coverage results of all source lines, which belongs to this range. This view provides an efficient method to detect vacancies of the test pattern to accelerate the completion of the proof of coverage.
In order to comply with the requirements for proof of the coverage measurements performed within the overall process for software quality assurance, complete reports including all details must also be generated. These reports could be relevant for future traceability of the measurements performed and their interpretation. The UDE coverage report contains all information, which enables to reconstruct the coverage results:
The coverage report can spawn the results of:
The results of the coverage can be exported as XML file. The XML storage files consist of a common UDE XML export file header and one or more
code coverage specific data sets:
Furthermore Print and Chart image export functions are supported.