Ramachandran, Shankar ; Dr. Xiaosong Ma, Committee Member,Dr. Yan Solihin, Committee Member,Dr. Alexander Dean, Committee Chair,Ramachandran, Shankar ; Dr. Xiaosong Ma ; Committee Member ; Dr. Yan Solihin ; Committee Member ; Dr. Alexander Dean ; Committee Chair
Bounding maximum stack depth for embedded system applications is essential in order to avoid conditions such as stack overflow. Stack usage information is useful for allocating the stack into a memory hierarchy. Prior work in stack space analysis addresses specific issues such as handling interrupts and target ISAs other than ARM.In this thesis, we propose a methodology for stack space analysis based on euler tour traversal of the call graph to determine the maximum stack depth of the application, good preemption points for tasks and hotspots in stack depth. Our main contribution is Astute (A STack UTilization Estimator), a tool that implements our methodology for stack space analysis of ARM executables. We also study the effects of compiler optimization on maximum stack depth of an embedded system application and benchmark programs.