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.