{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,2]],"date-time":"2025-10-02T20:10:02Z","timestamp":1759435802191,"version":"build-2065373602"},"publisher-location":"New York, NY, USA","reference-count":67,"publisher":"ACM","license":[{"start":{"date-parts":[[2025,9,25]],"date-time":"2025-09-25T00:00:00Z","timestamp":1758758400000},"content-version":"vor","delay-in-days":94,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["2416594"],"award-info":[{"award-number":["2416594"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2025,6,23]]},"DOI":"10.1145\/3711875.3729149","type":"proceedings-article","created":{"date-parts":[[2025,10,2]],"date-time":"2025-10-02T19:30:22Z","timestamp":1759433422000},"page":"556-569","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Hopter: a Safe, Robust, and Responsive Embedded Operating System"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-1868-4856","authenticated-orcid":false,"given":"Zhiyao","family":"Ma","sequence":"first","affiliation":[{"name":"Yale University, New Haven, Connecticut, USA"}]},{"ORCID":"https:\/\/orcid.org\/0009-0001-6450-4983","authenticated-orcid":false,"given":"Guojun","family":"Chen","sequence":"additional","affiliation":[{"name":"Yale University, New Haven, Connecticut, USA"}]},{"ORCID":"https:\/\/orcid.org\/0009-0007-6133-1136","authenticated-orcid":false,"given":"Zhuo","family":"Chen","sequence":"additional","affiliation":[{"name":"Yale University, New Haven, Connecticut, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0840-167X","authenticated-orcid":false,"given":"Lin","family":"Zhong","sequence":"additional","affiliation":[{"name":"Yale University, New Haven, Connecticut, USA"}]}],"member":"320","published-online":{"date-parts":[[2025,9,25]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"Amazon.com Inc. 2020. FreeRTOS: Real-time operating system for microcontrollers and small microprocessors. https:\/\/www.freertos.org. Version 10.3.1. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_2_1","volume-title":"ARMv7-M Architecture Reference Manual (Issue E.e). https:\/\/developer.arm.com\/documentation\/ddi0403\/ee\/","author":"Limited Arm","year":"2025","unstructured":"Arm Limited. 2021. ARMv7-M Architecture Reference Manual (Issue E.e). https:\/\/developer.arm.com\/documentation\/ddi0403\/ee\/ Chapter B3.5: Protected Memory System Architecture, PMSAv7. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_3_1","unstructured":"Arm Ltd. 2023. Arm Compiler Version 6.6.5 armclang Reference Guide. https:\/\/developer.arm.com\/documentation\/dui0774\/l\/ Section 2.28. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_4_1","unstructured":"AWS open source. 2024. FreeRTOS Documentation. https:\/\/www.freertos.org\/Documentation\/00-Overview Chapter: FreeRTOS Stack Usage and Stack Overflow Checking. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_5_1","volume-title":"RIOT: An open source operating system for low-end embedded devices in the IoT","author":"Baccelli Emmanuel","year":"2018","unstructured":"Emmanuel Baccelli, Cenk G\u00fcndo\u0103an, Oliver Hahm, Peter Kietzmann, Martine S Lenders, Hauke Petersen, Kaspar Schleiser, Thomas C Schmidt, and Matthias W\u00e4hlisch. 2018. RIOT: An open source operating system for low-end embedded devices in the IoT. IEEE Internet of Things Journal (2018)."},{"key":"e_1_3_2_1_6_1","volume-title":"Crazyflie: A flying open development platform. https:\/\/www.bitcraze.io\/.","year":"2020","unstructured":"Bitcraze. 2020. Crazyflie: A flying open development platform. https:\/\/www.bitcraze.io\/."},{"key":"e_1_3_2_1_7_1","volume-title":"Syslink protocol version","year":"2024","unstructured":"Bitcraze. 2024. Syslink protocol version 2024.10. https:\/\/www.bitcraze.io\/documentation\/repository\/crazyflie2-nrf-firmware\/2024.10\/protocols\/syslink\/ Accessed: 2025-04-24."},{"key":"e_1_3_2_1_8_1","volume-title":"Proc. USENIX OSDI.","author":"Boos Kevin","year":"2020","unstructured":"Kevin Boos, Namitha Liyanage, Ramla Ijaz, and Lin Zhong. 2020. Theseus: an experiment in operating system structure and state management. In Proc. USENIX OSDI."},{"key":"e_1_3_2_1_9_1","unstructured":"Bosch. 2024. BMI088. https:\/\/github.com\/BoschSensortec\/BMI08x-Sensor-API. Version 1.9.0. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/MNET.2018.1700146"},{"key":"e_1_3_2_1_11_1","volume-title":"Embassy: The next-generation framework for embedded applications. https:\/\/embassy.dev. Accessed: 2025-04-24.","author":"Contributors Embassy Project","year":"2023","unstructured":"Embassy Project Contributors. 2023. Embassy: The next-generation framework for embedded applications. https:\/\/embassy.dev. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_12_1","volume-title":"RTIC: The hardware accelerated Rust RTOS. https:\/\/rtic.rs\/2\/book\/en\/. Accessed: 2025-04-24.","author":"Contributors RTIC","year":"2023","unstructured":"RTIC Contributors. 2023. RTIC: The hardware accelerated Rust RTOS. https:\/\/rtic.rs\/2\/book\/en\/. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_13_1","volume-title":"A first look at Rust in the 6.1 kernel. https:\/\/lwn.net\/Articles\/910762\/. Linux Weekly News (10","author":"Corbet Jonathan","year":"2022","unstructured":"Jonathan Corbet. 2022. A first look at Rust in the 6.1 kernel. https:\/\/lwn.net\/Articles\/910762\/. Linux Weekly News (10 2022)."},{"key":"e_1_3_2_1_14_1","unstructured":"Microsoft Corporation. [n. d.]. Windows Drivers in Rust. https:\/\/github.com\/microsoft\/windows-drivers-rs. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_15_1","first-page":"2019","volume":"201","unstructured":"MITRE Corporation. 2019. CVE-2019-25001: Flaw in CBOR deserializer allows stack overflow. https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2019-25001. Accessed: 2025-04-24.","journal-title":"MITRE Corporation."},{"key":"e_1_3_2_1_16_1","first-page":"2020","volume":"202","unstructured":"MITRE Corporation. 2020. CVE-2020-35858: Parsing a specially crafted message can result in a stack overflow. https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2020-35858. Accessed: 2025-04-24.","journal-title":"MITRE Corporation."},{"key":"e_1_3_2_1_17_1","first-page":"2021","volume":"202","unstructured":"MITRE Corporation. 2021. CVE-2021-31572: FreeRTOS before 10.4.3 has an integer overflow for a stream buffer. https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-31572. Accessed: 2025-04-24.","journal-title":"MITRE Corporation."},{"key":"e_1_3_2_1_18_1","first-page":"2021","volume":"202","unstructured":"MITRE Corporation. 2021. CVE-2021-32020: FreeRTOS before 10.4.3 has insufficient bounds checking during management of heap memory. https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-32020. Accessed: 2025-04-24.","journal-title":"MITRE Corporation."},{"key":"e_1_3_2_1_19_1","first-page":"2024","volume":"202","unstructured":"MITRE Corporation. 2024. CVE-2024-36760: A stack overflow vulnerability found in version 1.18.0 of rhai. https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2024-36760. Accessed: 2025-04-24.","journal-title":"MITRE Corporation."},{"key":"e_1_3_2_1_20_1","unstructured":"Alex Crichton Jeehoon Kang Aaron Turon and Taiki Endo. 2024. Tools for concurrent programming. https:\/\/crates.io\/crates\/crossbeam. Version 0.8.4. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_21_1","unstructured":"Amanieu d'Antras. 2024. Intrusive collections for Rust (linked list and red-black tree). https:\/\/crates.io\/crates\/intrusive-collections. Version 0.9.7. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_22_1","first-page":"2018","volume":"201","unstructured":"The Rust Security Advisory Database. 2018. RUSTSEC-2018-0005: Uncontrolled recursion leads to abort in deserialization. https:\/\/rustsec.org\/advisories\/RUSTSEC-2018-0005.html. Accessed: 2025-04-24.","journal-title":"The Rust Security Advisory Database."},{"key":"e_1_3_2_1_23_1","first-page":"2023","volume":"202","unstructured":"The Rust Security Advisory Database. 2023. RUSTSEC-2023-0080: Buffer overflow due to integer overflow in transpose. https:\/\/rustsec.org\/advisories\/RUSTSEC-2023-0080.html. Accessed: 2025-04-24.","journal-title":"The Rust Security Advisory Database."},{"key":"e_1_3_2_1_24_1","first-page":"2024","volume":"202","unstructured":"The Rust Security Advisory Database. 2024. RUSTSEC-2024-0012: Stack overflow during recursive JSON parsing. https:\/\/rustsec.org\/advisories\/RUSTSEC-2024-0012.html. Accessed: 2025-04-24.","journal-title":"The Rust Security Advisory Database."},{"key":"e_1_3_2_1_25_1","unstructured":"Hopter Developers. 2024. Hopter Embedded OS. https:\/\/github.com\/hopter-project\/hopter. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_26_1","unstructured":"Redox Developers. 2015. Redox - Your Next(gen) OS. https:\/\/www.redox-os.org\/. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_27_1","unstructured":"Zephyr Developers. 2016. Zephyr Project. https:\/\/github.com\/zephyrproject-rtos\/zephyr. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_28_1","volume-title":"Proc. IEEE Int. Conf. Transportation, Mechanical, and Electrical Engineering (TMEE).","author":"Dong Guo","year":"2011","unstructured":"Guo Dong, Wang Hongpei, Gao Song, and Wang Jing. 2011. Study on adaptive front-lighting system of automobile based on microcontroller. In Proc. IEEE Int. Conf. Transportation, Mechanical, and Electrical Engineering (TMEE)."},{"key":"e_1_3_2_1_29_1","unstructured":"Daniel Egger. 2021. Peripheral access API for STM32F0 series microcontrollers. https:\/\/crates.io\/crates\/stm32f0xx-hal. Version 0.18.0. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_30_1","unstructured":"Daniel Egger. 2024. Peripheral access API for STM32F4 series microcontrollers. https:\/\/crates.io\/crates\/stm32f4xx-hal. Version 0.22.1. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/MVT.2011.941888"},{"key":"e_1_3_2_1_32_1","unstructured":"Free Software Foundation Inc. 2023. GCC 15.0.0 Manual. https:\/\/gcc.gnu.org\/onlinedocs\/gcc\/ Section 3.12 Program Instrumentation Options. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_33_1","unstructured":"Adam Greig. 2023. Low level access to Cortex-M processors. https:\/\/crates.io\/crates\/cortex-m. Version 0.7.7. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/CTIT.2018.8649518"},{"key":"e_1_3_2_1_35_1","volume-title":"Representing control in the presence of first-class continuations. ACM SIGPLAN Notices","author":"Hieb Robert","year":"1990","unstructured":"Robert Hieb, R Kent Dybvig, and Carl Bruggeman. 1990. Representing control in the presence of first-class continuations. ACM SIGPLAN Notices (1990)."},{"key":"e_1_3_2_1_36_1","unstructured":"Free Software Foundation Inc. 2023. Exception handling and frame unwind runtime interface routines. https:\/\/github.com\/gcc-mirror\/gcc\/blob\/721cdcd1ddde0738deb08895e113a8db84187a14\/libgcc\/unwind.inc. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_37_1","volume-title":"Share & COVID-19 Impact Analysis, By Component, By Type, By Application, and Regional Forecast","author":"Insights Fortune Business","year":"2023","unstructured":"Fortune Business Insights. 2024. Embedded Systems Market Size, Share & COVID-19 Impact Analysis, By Component, By Type, By Application, and Regional Forecast, 2023-2030. https:\/\/www.fortunebusinessinsights.com\/embedded-systems-market-108767. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_38_1","volume-title":"Embedded System Market Analysis from 2024 to","author":"Insights Future Market","year":"2034","unstructured":"Future Market Insights. 2024. Embedded System Market Analysis from 2024 to 2034. https:\/\/www.futuremarketinsights.com\/reports\/embedded-system-market. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_39_1","volume-title":"By Function & Forecast, 2024 - 2032","author":"Insights Global Market","year":"2024","unstructured":"Global Market Insights. 2024. Embedded Systems Market Size - By Component, By Application, By Function & Forecast, 2024 - 2032. https:\/\/www.gminsights.com\/industry-analysis\/embedded-system-market. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICAETR.2014.7012919"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132786"},{"key":"e_1_3_2_1_42_1","unstructured":"LLVM. 2025. AttributorAttributes.cpp - Attributes for Attributor deduction. https:\/\/llvm.org\/doxygen\/AttributorAttributes_8cpp_source.html. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_43_1","unstructured":"LLVM. 2025. FunctionAttrs.cpp - Pass which marks functions attributes. https:\/\/llvm.org\/doxygen\/FunctionAttrs_8cpp_source.html. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3623759.3624549"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/3572864.3580344"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/TII.2011.2124466"},{"key":"e_1_3_2_1_47_1","unstructured":"Anthony J Massa. 2002. Embedded software development with eCos. Prentice Hall Professional."},{"key":"e_1_3_2_1_48_1","volume-title":"Link Service Routines. Micro Digital","author":"Moore Ralph","year":"2005","unstructured":"Ralph Moore. 2005. Link Service Routines. Micro Digital (2005)."},{"key":"e_1_3_2_1_49_1","unstructured":"Mohamed Abd El-Latif Mowad Ahmed Fathy Ahmed Hafez et al. 2014. Smart home automated control system using android application and microcontroller. Int. Journal of Scientific & Engineering Research (2014)."},{"key":"e_1_3_2_1_50_1","volume-title":"Proc. USENIX OSDI.","author":"Narayanan Vikram","year":"2020","unstructured":"Vikram Narayanan, Tianjiao Huang, David Detweiler, Dan Appel, Zhaofeng Li, Gerd Zellweger, and Anton Burtsev. 2020. RedLeaf: Isolation and Communication in a Safe Operating System. In Proc. USENIX OSDI."},{"key":"e_1_3_2_1_51_1","unstructured":"Pimoroni. 2024. PMW3901. https:\/\/github.com\/pimoroni\/pmw3901-python\/tree\/main. Version 1.0.0. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_52_1","unstructured":"Pololu. 2022. Vl53l1x. https:\/\/github.com\/pololu\/vl53l1x-arduino. Version 1.3.1. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_53_1","unstructured":"LLVM Project. 2023. Implementation of C++ ABI Exception Handling Level 1. https:\/\/github.com\/llvm\/llvm-project\/blob\/f42482def236999b0f7896c09cd714b708861c8b\/libunwind\/src\/UnwindLevel1.c. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_54_1","volume-title":"The RISC-V Instruction Set Manual","author":"RISC-V.","year":"2024","unstructured":"RISC-V. 2024. The RISC-V Instruction Set Manual: Volume II (Version 20240411). https:\/\/riscv.org\/technical\/specifications\/ Chapter 3.7: Physical Memory Protection. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_55_1","unstructured":"Rust on Embedded Devices Working Group et al. [n. d.]. The Embedded Rust Book. https:\/\/docs.rust-embedded.org\/book\/. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_56_1","unstructured":"Alice Ryhl. 2023. Rewriting Binder Driver in Rust. https:\/\/lore.kernel.org\/rust-for-linux\/20231101-rust-binder-v1-0-08ba9197f637@google.com\/. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISORC.2000.839540"},{"key":"e_1_3_2_1_58_1","volume-title":"The logical design of parallel operating systems","author":"Schr\u00f6der-Preikschat Wolfgang","unstructured":"Wolfgang Schr\u00f6der-Preikschat. 1994. The logical design of parallel operating systems. Prentice-Hall, Inc."},{"key":"e_1_3_2_1_59_1","unstructured":"STMicroelectronics. 2020. RM0402 (Rev.6) Reference manual for STM32F412 advanced Arm-based 32-bit MCUs. Chapter 3.4.2: Adaptive real-time memory accelerator (ART Accelerator)."},{"key":"e_1_3_2_1_60_1","volume-title":"https:\/\/www.st.com\/resource\/en\/reference_manual\/rm0090-stm32f405415-stm32f407417-stm32f427437-and-stm32f429439-advanced-armbased-32bit-mcus-stmicroelectronics.pdf","author":"Reference","year":"2025","unstructured":"STMicroelectronics. 2024. RM0090 (Rev.21) Reference manual for STM32F405\/415, STM32F407\/417, STM32F427\/437 and STM32F429\/439 advanced Arm-based 32-bit MCUs. https:\/\/www.st.com\/resource\/en\/reference_manual\/rm0090-stm32f405415-stm32f407417-stm32f427437-and-stm32f429439-advanced-armbased-32bit-mcus-stmicroelectronics.pdf Chapter 30.3.3: Receiver - Overrun Error. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_61_1","unstructured":"STMicroelectronics. 2024. STM32CubeF0 HAL driver MCU component. https:\/\/github.com\/STMicroelectronics\/STM32CubeF0\/releases\/tag\/v1.11.5. Version 1.11.5. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_62_1","unstructured":"STMicroelectronics. 2024. STM32CubeF4 HAL driver MCU component. https:\/\/github.com\/STMicroelectronics\/stm32f4xx_hal_driver\/releases\/tag\/v1.8.3. Version 1.8.3. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_63_1","unstructured":"Rust Tools Team. 2021. svd2rust. https:\/\/github.com\/rust-embedded\/svd2rust"},{"key":"e_1_3_2_1_64_1","unstructured":"Theseus Developers. 2023. Support for unwinding the call stack and cleaning up stack frames. https:\/\/github.com\/theseus-os\/Theseus\/blob\/562a39cf6c662738f7718473f6bbc010970dce53\/kernel\/unwind\/src\/lib.rs. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSCET.2018.8537381"},{"key":"e_1_3_2_1_66_1","unstructured":"Mathijs van de Nes and Joshua Barretto. 2023. Spin-based synchronization primitives. https:\/\/crates.io\/crates\/spin. Version 0.9.8. Accessed: 2025-04-24."},{"key":"e_1_3_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945471"}],"event":{"name":"MobiSys '25: 23rd Annual International Conference on Mobile Systems, Applications and Services","location":"Hilton Anaheim Anaheim CA USA","acronym":"MobiSys '25","sponsor":["SIGMOBILE ACM Special Interest Group on Mobility of Systems, Users, Data and Computing","SIGOPS ACM Special Interest Group on Operating Systems"]},"container-title":["Proceedings of the 23rd Annual International Conference on Mobile Systems, Applications and Services"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3711875.3729149","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3711875.3729149","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,2]],"date-time":"2025-10-02T19:32:56Z","timestamp":1759433576000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3711875.3729149"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,6,23]]},"references-count":67,"alternative-id":["10.1145\/3711875.3729149","10.1145\/3711875"],"URL":"https:\/\/doi.org\/10.1145\/3711875.3729149","relation":{},"subject":[],"published":{"date-parts":[[2025,6,23]]},"assertion":[{"value":"2025-09-25","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}