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.
Call graph with stack usage and worst-case path
Tabular and chart summaries of the analysis results
- Detailed and precise information on user-stack usage and system-stack usage by application tasks.
- Stack analysis for all hierarchy levels:
routines, basic blocks, assembly instructions.
Critical program sections and worst-case paths are highlighted.
- Control-flow reconstruction directly from binary code.
Potential flaws in the debug information will not confuse StackAnalyzer.
- Freely selectable entry points for the analysis. You can easily focus
on any code parts of particular interest to you.
- Fully integrated, feature-rich graphical and textual viewers
for control flow, analysis results, source code, assembly code, and configuration files.
- Optional 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 worst-case execution time analysis).
- Batch mode for easy integration with other tools, or into automated build processes.
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 new Actros truck.
Honda, in developing the FADEC software of a turbofan engine.
Vestas, to prevent stack overflow in their wind turbine control software.
AREVA, for verification of their safety-critical platform
for testing, operating and troubleshooting nuclear reactors.
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, to demonstrate the correctness
of control software for emergency power generators in power plants.
- 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.
- Using StackAnalyzer is essential in meeting current safety standards
such as ISO 26262,
DO-178B, DO-178C, IEC-61508, and EN-50128, where statically analyzing the stack usage
is part of the architectural safety requirements.
StackAnalyzer is available for a wide and ever-growing array of target processors and compilers.
Seamless integration into your toolchain
StackAnalyzer supports tight integration with state-of-the-art development tools, including:
- SCADE Suite, the market-leading embedded-software development environment from Esterel
- TargetLink, the production-code generation tool from dSPACE
- SymTA/S scheduling analysis tools from Symtavision
- Jenkins, the leading open-source automation server
- RT-Druid, the Eclipse-based development environment from Evidence
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
The QSKs and QSLCD Reports have been successfully used by leading
corporations in their qualification processes, notably in the automotive
and avionics industries.