{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,6]],"date-time":"2026-10-06T15:16:55Z","timestamp":1791299815901,"version":"4.1.0"},"reference-count":23,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2005,11,1]],"date-time":"2005-11-01T00:00:00Z","timestamp":1130803200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2005,11]]},"abstract":"<jats:p>\n            An important correctness criterion for software running on embedded microcontrollers is\n            <jats:italic>stack safety<\/jats:italic>\n            : a guarantee that the call stack does not overflow. Our first contribution is a method for statically guaranteeing stack safety of interrupt-driven embedded software using an approach based on context-sensitive dataflow analysis of object code. We have implemented a prototype stack analysis tool that targets software for Atmel AVR microcontrollers and tested it on embedded applications compiled from up to 30,000 lines of C. We experimentally validate the accuracy of the tool, which runs in under 10 sec on the largest programs that we tested. The second contribution of this paper is the development of two novel ways to reduce stack memory requirements of embedded software.\n          <\/jats:p>","DOI":"10.1145\/1113830.1113833","type":"journal-article","created":{"date-parts":[[2006,5,8]],"date-time":"2006-05-08T16:09:20Z","timestamp":1147104560000},"page":"751-778","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":64,"title":["Eliminating stack overflow by abstract interpretation"],"prefix":"10.1145","volume":"4","author":[{"given":"John","family":"Regehr","sequence":"first","affiliation":[{"name":"University of Utah, Salt Lake City, UT"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Alastair","family":"Reid","sequence":"additional","affiliation":[{"name":"University of Utah, Salt Lake City, UT"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Kirk","family":"Webb","sequence":"additional","affiliation":[{"name":"University of Utah, Salt Lake City, UT"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2005,11]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Alter D. 2003. Online stack overflow detection on the TMS320C28x DSP. Texas Instruments Application Note SPRA820. http:\/\/www-s.ti.com\/sc\/psheets\/spra820\/spra820.pdf.  Alter D. 2003. Online stack overflow detection on the TMS320C28x DSP. Texas Instruments Application Note SPRA820. http:\/\/www-s.ti.com\/sc\/psheets\/spra820\/spra820.pdf."},{"key":"e_1_2_1_2_1","volume-title":"Atemu: A sensor network emulator\/simulator\/debugger","author":"Atemu","year":"2004"},{"key":"e_1_2_1_3_1","unstructured":"Autopilot Project. 2004. http:\/\/autopilot.sourceforge.net.  Autopilot Project. 2004. http:\/\/autopilot.sourceforge.net."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/258915.258928"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/REAL.1990.128747"},{"key":"e_1_2_1_6_1","volume-title":"Proc. of the Intl. Conf. on Compiler Construction (CC)","author":"Balakrishnan G."},{"key":"e_1_2_1_7_1","unstructured":"Barello L. 2004. The AvrX real time kernel. http:\/\/barello.net\/avrx.  Barello L. 2004. The AvrX real time kernel. http:\/\/barello.net\/avrx."},{"key":"e_1_2_1_8_1","volume-title":"Proc. of the 23rd Intl. Conf. on Software Engineering (ICSE)","author":"Brylow D."},{"key":"e_1_2_1_9_1","volume-title":"Proc. of the 10th Static Analysis Symp.","author":"Chatterjee K."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/512950.512973"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/268946.268948"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/520050.828438"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.5555\/882482.883800"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781133"},{"key":"e_1_2_1_15_1","volume-title":"Proc. of the Embedded Intelligence Congress","author":"Heckmann R."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/378993.379006"},{"key":"e_1_2_1_17_1","volume-title":"Proc. of the Intl. Conf. on Computer-Aided Design","author":"Leupers R."},{"key":"e_1_2_1_18_1","unstructured":"Lindholm T. and Yellin F. 1997. The Java Virtual Machine Specification. The Java Series. Addison-Wesley Reading MA.   Lindholm T. and Yellin F. 1997. The Java Virtual Machine Specification. The Java Series. Addison-Wesley Reading MA."},{"key":"e_1_2_1_19_1","volume-title":"Proc. of the 7th Intl. Symp. on Formal Techniques in Real-Time and Fault-Tolerant Systems (FTRTFT)","author":"Palsberg J."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/192724.192749"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1024393.1024410"},{"key":"e_1_2_1_22_1","volume-title":"Proc. of the 4th Symp. on Operating Systems Design and Implementation. Springer Verlag","author":"Reid A."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/1890629.1890633"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1113830.1113833","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1113830.1113833","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T22:43:23Z","timestamp":1750286603000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1113830.1113833"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005,11]]},"references-count":23,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2005,11]]}},"alternative-id":["10.1145\/1113830.1113833"],"URL":"https:\/\/doi.org\/10.1145\/1113830.1113833","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2005,11]]},"assertion":[{"value":"2005-11-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}