New targets
All tools for TriCore now support TC212 and TC222.
General improvements
- Workspace files are now much smaller in size.
- Stricter consistency checks for APX files generated by customer scripts.
Qualification Support Kits
- The default location for report files is now based on the QSK installation path,
and no longer on the current working directory.
- New board-specific QSKs:
- New compiler-specific QSKs:
- New test cases for ARM:
- qk_ais2_adjust_trace_segment_runtimes_function
- qk_ais2_adjust_trace_segment_runtimes_robustness
Transport layer security
- All the tools on all platforms now uniformly use OpenSSL. Please keep your OpenSSL libraries up-to-date.
- When upgrading your client from a release older than 23.10,
make sure to upgrade your License Manager as well. This is necessary
due to the TLS-encrypted connection between the client and the License
Manager that was introduced in release 23.10.
Comfortable handling of analysis groups
- The “Edit analyses” dialog now allows
re-assigning selected analyses to a different group.
- Improved performance of the “Edit analyses” dialog.
- The “Create analyses” dialog now lists available
analysis groups to select from.
- On the Overview page, analyses with additional starts
can now be folded into a single line.
Text search
In all editor views, searching by pressing Ctrl+F
now automatically pre-fills the search field with the current selection.
If nothing is selected, the word currently under the text cursor is used.
Graph search
Improved sorting and highlighting of search results.
Symbols view
- Improved “Query contents” operation.
- The filter has been extended to allow searching for sections.
Statistics views
- Editing the columns is now persistent across multiple a³ instances.
- Generally improved stability.
- Object size statistics can now be filtered
to only show the objects reachable from the analyzed entry point.
Difference Viewer
Improved refreshing of the Results tab.
PDF viewer
The integrated PDF viewer now supports
more navigation shortcuts.
TraceVisualizer
Improved stability of the Results view.
DWARF
- Improved support for Rust enum types.
Cache and pipeline analysis
- General improvements to the analysis speed.
- Improved heuristics for the automatic selection between
basic-block and prediction-graph path analysis.
Path analysis
Improved memory usage of the ILP solving phase.
Value analysis
- Potential NULL pointer dereferences are now classified
as info messages rather than warnings.
- Improved detection of contradictions between annotated (constant)
memory contents and analyzed code.
- The internal maximum size limit for value sets has been increased to 2048,
to allow for improved partitioning in certain corner cases.
The values in the GUI are unaffected by this change.
TimeWeaver
- Reduced memory usage.
- More robust automatic detection of trace formats.
- XML reports now include:
- Trace segment feature vectors
- Configured trace segment similarity features alongside the specified shared memory regions
- Context-sensitively exported trace segments.
If trace segment times have been imported from another trace segment,
this is reported in the new attribute
adjust_edge_id
that encodes the ID of the trace graph edge (aka trace segment).
ARM
- Added a switch-table pattern that heuristically guesses
the switch-table size.
- Improved handling of invalid guarded code blocks for Thumb.
- The
UDF
instruction, which raises an undefined instruction exception,
is now handled as a program end.
- Improved PC-relative switch-table decoding.
C28x
- Higher analysis precision for the
xpread
instruction.
- Improved handling of copy sections in COFF files.
- Improved automatic switch-table decoding.
C33x
- Improved handling of copy sections in COFF files.
- Improved automatic switch-table decoding.
FR81
Improved handling of flag registers.
PowerPC
- Improved loop-bound computation.
- e200: Improved handling of memory serialized instructions.
RISC-V
Added a switch-table pattern that heuristically guesses
the switch-table size.
RL78
- Added support for
?C_SSWITCH_L10
switch tables.
- The invalid instruction
0xff
is considered as end of program.
TriCore
- Support for TC212 and TC222 (both AURIX 1st GEN).
- Improved automatic switch table decoding.
- Improved handling of calls to external routines for 1st and 2nd GEN AURIX.
- Higher analysis precision for the
madd.u
instruction.
- Higher analysis precision for CSA accesses.