Maximum Stack Memory Monitoring Method Assisted by Static Analysis of the Stack Usage Profile
As IoT permeates through industry in general, the safety assurances of IoT will become a major issue. One of the major safety issues, stack overflow, is a bothersome and difficult problem because it is hard to discover during design and to prevent. Many related studies for preventing stack overflow have used two general methods. The static analysis method is employed before a program runs and estimates the program’s probable maximum stack memory usage. The dynamic analysis method is used to monitor for stack overflows during run-time. Based on those prior works, this paper introduces a method for monitoring stack memory based on static analysis of the maximum stack memory usage profile. We anticipate that applying the proposed approach will prevent stack overflow in an efficient manner.
KeywordsStack overflow Stack usage Profile-based analysis
This research was supported by the Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (2014R1A6A3A04059410).
- 1.Brylow, D., Damgaard, N., Palsberg, J.: Static checking of interrupt-driven software. In: Proceedings of the 23rd International Conference on Software, ICSE 2001, pp. 47–56 (2001)Google Scholar
- 2.Chatterjee, K., Ma, D., Majumdar, R., Zhao, T., Henzinger, T.A., Palsberg, J.: Stack size analysis for interrupt-driven programs. In: Proceedings of the 10th International Conference on Static Analysis, pp. 109–126 (2003)Google Scholar
- 3.Eslamimehr, M., Palsberg, J.: Testing versus static analysis of maximum stack size. In: 37th Annual Computer Software and Applications Conference. IEEE, pp. 619–626 (2013)Google Scholar
- 4.Brylow, D., Damgaard, N., Palsberg, J.: Static checking of interrupt-driven software. In: Proceedings of ICSE 2001, 23rd International Conference on Software Engineering, Toronto, pp. 47–56 (2001)Google Scholar
- 5.Regehr, J.: Random testing of interrupt-driven software. In: ACM International Conference On Embedded Software, pp. 290–298 (2005)Google Scholar
- 8.Regehr, J., Reid, A., Webb, K.: Eliminating stack overflow by abstract interpretation. In: Proceedings of EMSOFT 2003, Third International Conference on Embedded Software, pp. 306–322 (2003)Google Scholar
- 9.Regehr, J., Reid, A.: HOIST: a system for automaticallyderiving static analyzers for embedded systems. In: ACM SIGARCH Computer Architecture News (2004)Google Scholar
- 11.Choi, K., Cho, J., Park, D.: Zynq-based ARM-FPGA Cooperative Platform for Maximum Stack Usage Analysis in Embedded Systems. In: Proceeding of COOLChips (2017)Google Scholar
- 13.Mehlhorn, K., Naher, S., Sanders, P.: Engineering DFS-based graph algorithm. Partially supported by DFG grant SA 933/3–1 (2007)Google Scholar