Predicting Stack Use in Embedded Software Applications - Carlos Daniel Alves Garcia (2019)
On mass market products the production cost is one of the main concerns. This constraint also applies to electronic controller units (ECU) used in the automotive industry, leading to a choice of computerize systems with limited resources (such as Code Flash, Data Flash, RAM, Stack usage and CPU load). It therefore becomes essential to monitor the resources used by the embedded software during its development. The monitoring ensures that the architecture, the implementation and functionality all fit within the hardware limitations. The resource monitoring may be done at compile time using static analyses techniques, or during runtime. The former predicts the use of resources by analyzing the source code. The latter focuses on analysis at runtime. This dissertation describes the architecture and implementation of a tool to monitor the use of the stack resource by all the embedded software an ECU. A prediction for stack use is obtained during the software development process using a static analysis approach. With the help of the tool, embedded software developers can determine an upper bound for the use of Stack with a higher level of trust.