Stack Checker Tool

The bundled stack checker tool included with Avrora is a research project that uses program analysis to determine a bound on the maximal stack usage of a program. Microcontroller programs are often interrupt driven and complex interactions of interrupt handlers, recursion, or deep call chains can consume more stack space than is available for the program to run. This tool performs a context-sensitive program analysis that can determine a bound for the stack size for most programs.

Invoking the Stack Checker Tool

The stack checker tool is accessible by the -action option to Avrora. When this option is set to analyze-stack, the stack checker tool is invoked on the input program.

Interpreting the Results

The stack checker tool currently only reports the maximum stack size for the program and some diagnostic information about the analysis such as the space and time consumed for the analysis.