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

Your benefits

Key features

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 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.

Recent improvements

  • Improved automatic resolution of computed control-flow transitions
  • Improved instruction-set detection using ARM EABI mapping symbols
  • Improved decoding of the MSR instruction
  • Improved handling of several annotations
  • Three additional qualification test cases
  • See the complete release notes
  • Improved handling of illegal opcodes during decoding
  • Improved iterative decoding
  • Improved automatic resolving of C++ virtual member function calls
  • Improved handling of memory-access errors
  • Several Clang-specific improvements
  • Two additional qualification test cases
  • See the complete release notes
  • 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
  • See the complete release notes
  • Analysis of dynamically linked ELF files
  • Instruction support extended up to ARMv9.3
  • Improved switch-table decoding for Clang
  • See the complete release notes
  • Improved switch-table decoding for Clang and DiabData
  • TLS-encrypted network connections
  • See the complete release notes
  • 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
  • See the complete release notes

System requirements

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.

Get started today