StackAnalyzer automatically determines the worst-case stack usage
of the tasks in your application. It lets you find any stack overflows,
or formally prove the absence thereof.
Qualification run results
Contents of registers and memory cells
Tabular overview of the stack usage
Control-flow graph with analysis results
Call graph with worst-case stack usage
Your benefits
- StackAnalyzer reduces the development effort and helps
prevent runtime errors due to stack overflow.
- StackAnalyzer calculates the stack usage automatically.
No testing or measuring required. The analysis results are valid
for all inputs and any task execution.
- StackAnalyzer directly analyzes binary executables,
exactly as they are executed in the final system.
It requires no code instrumentation, no modification of your system,
no modification of your toolchain, and it will not be
confused by potential flaws in debug information.
- Using StackAnalyzer is essential in meeting current safety standards
such as ISO 26262,
DO-178B/C, IEC-61508, and EN-50128,
where statically analyzing the stack usage is part of the architectural safety requirements.
Who uses StackAnalyzer?
Airbus France, in the development of safety-critical avionics software for several airplane types, including the A380.
Daimler, in many automotive software projects, including the powertrain control system of the Actros line.
Honda, in developing the FADEC software of a turbofan engine.
Vestas, to prevent stack overflow in their wind turbine control software.
Framatome, for verification of their safety-critical platform
for testing, operating and troubleshooting nuclear reactors.
Continental, to avoid stack overflows in their airbag control systems.
OHB, in the development of onboard software for satellite platforms for communication and navigation.
u-blox, to avoid stack overflows at compile time and to increase
the reliability of their controlling software.
MTU Friedrichshafen, to demonstrate the correctness
of control software for emergency power generators in power plants.
A multitude of supported processors
StackAnalyzer is available for a vast variety of instruction set architectures,
including ARM, PowerPC, x86, TriCore, RISC-V, and 20+ others.
Supported compilers include GCC, GNAT, LLVM/Clang, Diab, Tasking, GHS,
the formally verified CompCert compiler, and 10+ more.
A breeze to use
StackAnalyzer incorporates 20+ years’ worth of feedback from commercial users,
and offers many helpful features, polished over the years.
- Static analysis of binary files, exactly as they are executed in the final system.
- Clear and precise information on the maximum stack usage by tasks, functions, basic blocks, and individual instructions.
- Recursions, function pointers, inline assembly code, and library-function calls are all taken into account.
- Automatic recognition of dead code.
- Exceptionally fast analysis of complex real-world software.
- Freely selectable entry points for the analysis, so you can focus
on the worst-case path or other areas of interest, and speed up the analysis even further.
- Difference analysis for comparing the stack usage before and after making changes to your system.
- Customizable XML reports for documentation and certification.
- Feature-rich GUI with interactive views
for analysis results, statistics, code coverage, control flow,
source code, assembly code, DWARF debug info, symbol tables,
configuration files, and more.
- Command-line mode for easy integration into automated build processes.
- Plugins for TargetLink and Jenkins.
Fully-integrated custom builds for SCADE and Raptor.
- ValueAnalyzer add-on for static analysis of register and memory cells, memory accesses and function calls.
- Seamless integration with other analysis tools from AbsInt,
e.g. aiT for static analysis of the worst-case execution time.
- Qualification Support Kits for ISO 26262, DO-178B/C, and other safety standards.
- Regular updates and excellent tech support.
“When searching
for actual products performing stack usage analysis for embedded software,
StackAnalyzer seems to be the most promising (and probably only) choice.”
Independent review by University of Erlangen
StackAnalyzer supports tight integration with state-of-the-art development tools, including:
StackAnalyzer can also be combined within a single user interface with other analysis tools
from AbsInt — e.g. aiT for worst-case execution time analysis.
Your usage of StackAnalyzer can be qualified according to
ISO 26262, DO-178B/C, and other safety standards. We offer
special Qualification Support Kits
that help you simplify and automate your qualification process. These Kits
are especially popular with our customers in the avionics and automotive industries.
You can try StackAnalyzer for free, on your own applications, for a period of 30 days.
The free license covers: