{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,6]],"date-time":"2026-10-06T22:22:54Z","timestamp":1791325374283,"version":"4.3.1"},"publisher-location":"New York, NY, USA","reference-count":56,"publisher":"ACM","license":[{"start":{"date-parts":[[2024,12,2]],"date-time":"2024-12-02T00:00:00Z","timestamp":1733097600000},"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":[],"published-print":{"date-parts":[[2024,12,2]]},"DOI":"10.1145\/3658644.3690255","type":"proceedings-article","created":{"date-parts":[[2024,12,9]],"date-time":"2024-12-09T12:19:20Z","timestamp":1733746760000},"page":"2370-2384","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["AutoPatch: Automated Generation of Hotpatches for Real-Time Embedded Devices"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6008-2093","authenticated-orcid":false,"given":"Mohsen","family":"Salehi","sequence":"first","affiliation":[{"name":"The University of British Columbia, Vancouver, British Columbia, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2380-3415","authenticated-orcid":false,"given":"Karthik","family":"Pattabiraman","sequence":"additional","affiliation":[{"name":"The University of British Columbia, Vancouver, British Columbia, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2024,12,9]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"Last Accessed Apr 2024. A\/B Method with Over the Air updates (OTA) in Espressif Systems. https:\/\/docs.espressif.com\/projects\/esp-idf\/en\/latest\/esp32\/api-reference\/system\/ota.html."},{"key":"e_1_3_2_1_2_1","unstructured":"Last Accessed Apr 2024. A\/B (Seamless) System Updates in Android Devices. https:\/\/source.android.com\/devices\/tech\/ota\/ab."},{"key":"e_1_3_2_1_3_1","unstructured":"Last Accessed Apr 2024. AMNESIA:33 -- Foresout Research Labs Finds 33 New Vulnerabilities in Open Source TCP\/IP Stacks. https:\/\/www.forescout.com\/blog\/amnesia33-forescout-research-labs-finds-33-new-vulnerabilities-in-open-source-tcp-ip-stacks\/."},{"key":"e_1_3_2_1_4_1","unstructured":"Last Accessed Apr 2024. Apache NuttX. https:\/\/nuttx.apache.org\/."},{"key":"e_1_3_2_1_5_1","unstructured":"Last Accessed Apr 2024. Clang: a C language family frontend for LLVM. https:\/\/clang.llvm.org\/index.html."},{"key":"e_1_3_2_1_6_1","unstructured":"Last Accessed Apr 2024. Cortex-M7 does not have FPB feature. https:\/\/documentation-service.arm.com\/static\/6100245a9ebe3a7dbd3a79fc?token=."},{"key":"e_1_3_2_1_7_1","unstructured":"Last Accessed Apr 2024. Flash Patch and Breakpoint Unit (FPB). https:\/\/documentation-service.arm.com\/static\/5e8e107f88295d1e18d34714?token=."},{"key":"e_1_3_2_1_8_1","unstructured":"Last Accessed Apr 2024. Free RTOS. https:\/\/www.freertos.org\/."},{"key":"e_1_3_2_1_9_1","unstructured":"Last Accessed Apr 2024. LLBMC The Low-Level Bounded Model Checker. https:\/\/llbmc.org\/."},{"key":"e_1_3_2_1_10_1","unstructured":"Last Accessed Apr 2024. The LLVM compiler. https:\/\/llvm.org\/."},{"key":"e_1_3_2_1_11_1","unstructured":"Last Accessed Apr 2024. Mbed TLS Library. https:\/\/github.com\/Mbed-TLS\/ mbedtls."},{"key":"e_1_3_2_1_12_1","unstructured":"Last Accessed Apr 2024. The MITRE Corporation. https:\/\/cve.mitre.org\/."},{"key":"e_1_3_2_1_13_1","unstructured":"Last Accessed Apr 2024. National vulnerability database. https:\/\/nvd.nist.gov\/."},{"key":"e_1_3_2_1_14_1","unstructured":"Last Accessed Apr 2024. Ripple20 - 19 zero-day vulnerabilities amplified by the supply chain JSOF-Tech. https:\/\/www.jsof-tech.com\/disclosures\/ripple20\/."},{"key":"e_1_3_2_1_15_1","unstructured":"Last Accessed Apr 2024. A thorough introduction to eBPF. https:\/\/lwn.net\/Articles\/740157\/."},{"key":"e_1_3_2_1_16_1","unstructured":"Last Accessed Apr 2024. VxWorks RTOS. https:\/\/www.windriver.com\/products\/vxworks."},{"key":"e_1_3_2_1_17_1","unstructured":"Last Accessed Apr 2024. Writing an LLVM Pass. https:\/\/llvm.org\/docs\/WritingAnLLVMPass.html."},{"key":"e_1_3_2_1_18_1","unstructured":"Last Accessed Apr 2024. ZephyrOS. https:\/\/www.zephyrproject.org\/."},{"key":"e_1_3_2_1_19_1","unstructured":"Last Accessed Apr 2024. ZephyrOS Project. https:\/\/github.com\/zephyrprojectrtos\/ zephyr\/blob\/main\/doc\/index.rst."},{"key":"e_1_3_2_1_20_1","volume-title":"USENIX Security Symposium. 287--302","author":"Altekar Gautam","year":"2005","unstructured":"Gautam Altekar, Ilya Bagrak, Paul Burstein, and Andrew Schultz. 2005. OPUS: Online Patches and Updates for Security.. In USENIX Security Symposium. 287--302."},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3427228.3427253"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3472292"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1519065.1519085"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCOM.001.1900125"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2007.65"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2018.23124"},{"key":"e_1_3_2_1_27_1","volume-title":"26th USENIX Security Symposium (USENIX Security 17)","author":"Chen Yue","year":"2017","unstructured":"Yue Chen, Yulong Zhang, Zhi Wang, Liangzhao Xia, Chenfu Bao, and Tao Wei. 2017. Adaptive android kernel live patching. In 26th USENIX Security Symposium (USENIX Security 17). 1253--1270."},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/INFCOM.2013.6566786"},{"key":"e_1_3_2_1_29_1","volume-title":"Embedded System Design: Topics, Techniques and Trends","author":"Felser Meik","unstructured":"Meik Felser, R\u00fcdiger Kapitza, J\u00fcrgen Klein\u00f6der, and Wolfgang Schr\u00f6der-Preikschat. 2007. Dynamic software update of resource-constrained distributed embedded systems. In Embedded System Design: Topics, Techniques and Trends. Springer, 387--400."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1016\/0164-1212(91)90096-O"},{"key":"e_1_3_2_1_31_1","volume-title":"27th Large Installation System Administration Conference (LISA 13)","author":"Giuffrida Cristiano","year":"2013","unstructured":"Cristiano Giuffrida, Calin Iorgulescu, Anton Kuijsten, and Andrew S Tanenbaum. 2013. Back to the future: Fault-tolerant live update with time-traveling state transfer. In 27th Large Installation System Administration Conference (LISA 13). 89--104."},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2016.2584066"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384616.2384635"},{"key":"e_1_3_2_1_34_1","volume-title":"RapidPatch: Firmware Hotpatching for Real-Time Embedded Devices. In 31th USENIX Security Symposium (USENIX Security 22)","author":"He Yi","year":"2022","unstructured":"Yi He, Zhenhua Zou, Kun Sun, Zhuotao Liu, Ke Xu, Qian Wang, Chao Shen, Zhi Wang, and Qi Li. 2022. RapidPatch: Firmware Hotpatching for Real-Time Embedded Devices. In 31th USENIX Security Symposium (USENIX Security 22)."},{"key":"e_1_3_2_1_35_1","volume-title":"5th Workshop on Hot Topics in Software Upgrades (HotSWUp 13)","author":"Holmbacka Simon","year":"2013","unstructured":"Simon Holmbacka, Wictor Lund, S\u00e9bastien Lafond, and Johan Lilius. 2013. Lightweight Framework for Runtime Updating of {C-Based} Software in Embedded Systems. In 5th Workshop on Hot Topics in Software Upgrades (HotSWUp 13)."},{"key":"e_1_3_2_1_36_1","volume-title":"NASA formal methods symposium","author":"Jacobs Bart","unstructured":"Bart Jacobs, Jan Smans, Pieter Philippaerts, Fr\u00e9d\u00e9ric Vogels, Willem Penninckx, and Frank Piessens. 2011. VeriFast: A powerful, sound, predictable, fast verifier for C and Java. In NASA formal methods symposium. Springer, 41--55."},{"key":"e_1_3_2_1_37_1","volume-title":"USENIX annual technical conference","author":"Makris Kristis","unstructured":"Kristis Makris and Rida A Bazzi. 2009. Immediate Multi-Threaded Dynamic Software Updates Using Stack Reconstruction.. In USENIX annual technical conference, Vol. 2009. San Diego, CA."},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.2820"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2021.24159"},{"key":"e_1_3_2_1_40_1","volume-title":"Proc. of USENIX Annual Technical Conference.","author":"Panta Rajesh Krishna","year":"2009","unstructured":"Rajesh Krishna Panta, Saurabh Bagchi, and Samuel P Midkiff. 2009. Zephyr: Efficient incremental reprogramming of sensor nodes using function call indirections and difference computation. In Proc. of USENIX Annual Technical Conference."},{"key":"e_1_3_2_1_41_1","volume-title":"2010 International Conference on Information and Communication Technology Convergence (ICTC). IEEE, 425--426","author":"Park Mi Jeong","year":"2010","unstructured":"Mi Jeong Park, Dong Kwan Kim, Won-Tae Kim, and Seung-Min Park. 2010. Dynamic software updates in cyber-physical systems. In 2010 International Conference on Information and Communication Technology Convergence (ICTC). IEEE, 425--426."},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/PST.2013.6596048"},{"key":"e_1_3_2_1_43_1","volume-title":"14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20)","author":"Rommel Florian","year":"2020","unstructured":"Florian Rommel, Christian Dietrich, Peng Huang, Daniel Friesel, Sangeetha Abdu Jyothi, Karan Grover, Marcel K\u00f6ppen, Nina Narodytska, Muthian Sivathanu, Christoph Borchert, et al. 2020. From Global to Local Quiescence:{Wait-Free} Code Patching of {Multi-Threaded} Processes. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20). 651--666."},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.40"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1109\/JIOT.2020.3040237"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/3548606.3563534"},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"crossref","unstructured":"Mohsen Salehi and Karthik Pattabiraman. 2024. AutoPatch: Automated Generation of Hotpatches for Real-Time Embedded Devices. arXiv:2408.15372 [cs.RO] https:\/\/arxiv.org\/abs\/2408.15372","DOI":"10.1145\/3658644.3690255"},{"key":"e_1_3_2_1_48_1","volume-title":"Segal and Ophir Frieder","author":"Mark","year":"1993","unstructured":"Mark E. Segal and Ophir Frieder. 1993. On-the-fly program modification: Systems for dynamic updating. IEEE software 10, 2 (1993), 53--65."},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1109\/HotSWUp.2012.6226609"},{"key":"e_1_3_2_1_50_1","volume-title":"30th USENIX Security Symposium (USENIX Security 21)","author":"Seyed Talebi Seyed Mohammadjavad","year":"2021","unstructured":"Seyed Mohammadjavad Seyed Talebi, Zhihao Yao, Ardalan Amiri Sani, Zhiyun Qian, and Daniel Austin. 2021. Undo workarounds for kernel bugs. In 30th USENIX Security Symposium (USENIX Security 21). 2381--2398."},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/ETFA.2014.7005075"},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/1656437.1656440"},{"key":"e_1_3_2_1_53_1","volume-title":"Your Firmware Has Arrived: A Study of Firmware Update Vulnerabilities. In 33th USENIX Security Symposium (USENIX Security .","author":"Wu Yuhao","year":"2024","unstructured":"Yuhao Wu, Jinwen Wang, Yujie Wang, Shixuan Zhai, Zihan Li, Yi He, Kun Sun, Qi Li, and Ning Zhang. 2024. Your Firmware Has Arrived: A Study of Firmware Update Vulnerabilities. In 33th USENIX Security Symposium (USENIX Security ."},{"key":"e_1_3_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106260"},{"key":"e_1_3_2_1_55_1","volume-title":"29th USENIX Security Symposium (USENIX Security 20)","author":"Xu Zhengzi","year":"2020","unstructured":"Zhengzi Xu, Yulong Zhang, Longri Zheng, Liangzhao Xia, Chenfu Bao, ZhiWang, and Yang Liu. 2020. Automatic hot patch generation for android kernels. In 29th USENIX Security Symposium (USENIX Security 20). 2397--2414."},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2017.15"}],"event":{"name":"CCS '24: ACM SIGSAC Conference on Computer and Communications Security","location":"Salt Lake City UT USA","acronym":"CCS '24","sponsor":["SIGSAC ACM Special Interest Group on Security, Audit, and Control"]},"container-title":["Proceedings of the 2024 on ACM SIGSAC Conference on Computer and Communications Security"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3658644.3690255","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3658644.3690255","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,8,22]],"date-time":"2025-08-22T06:16:50Z","timestamp":1755843410000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3658644.3690255"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,12,2]]},"references-count":56,"alternative-id":["10.1145\/3658644.3690255","10.1145\/3658644"],"URL":"https:\/\/doi.org\/10.1145\/3658644.3690255","relation":{},"subject":[],"published":{"date-parts":[[2024,12,2]]},"assertion":[{"value":"2024-12-09","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}