Static stack-usage analysis for ARM

StackAnalyzer for ARM statically determines the worst-case stack usage of tasks in safety-critical applications written or generated in C, C++ or Ada and compiled to run on 32-bit or 64-bit ARM processors.

Call graph with stack analysis results and worst-case path

Key features

Your benefits

Supported ARM families






Supported architecture variants and extensions

For the purposes of licensing and pricing, StackAnalyzer for 32-bit ARM and StackAnalyzer for 64-bit ARM are treated as two separate products.

Supported compilers

The standard license only covers one compiler of your choice. Additional compilers can be unlocked for a surcharge.

Qualification support

Your usage of StackAnalyzer for ARM can be qualified according to ISO 26262, DO-178B/C, and other safety standards. We offer Qualification Support Kits that help you simplify and automate your qualification process:

Compiler-specific QSKs for other compilers can be developed on request.

System requirements

Latest improvements

Upcoming release 24.10

  • Improved PC-relative switch-table decoding
  • Added a switch-table pattern that heuristically guesses the switch-table size
  • The UDF instruction is now handled as a program end
  • Improved handling of invalid guarded code blocks for Thumb

Release 23.10

  • Improved switch-table decoding for Clang and DiabData
  • TLS-encrypted network connections

Release 23.04

  • Analysis of dynamically linked ELF files
  • Instruction support extended up to ARMv9.3
  • Improved switch-table decoding for Clang

Release 22.10

  • Improved precision for AArch64 LSL, LSR, and ASR
  • Improved precision of branch splitting
  • Improved automatic decoding of computed control-flow transitions for Clang
  • Improved switch-table decoding for the TI 20.2.1 LTS compiler

Free trial

You can try StackAnalyzer for free, on your own applications, for a period of 30 days. Your free-trial package includes online training and tech support.

Also available