{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:27:27Z","timestamp":1750220847633,"version":"3.41.0"},"reference-count":41,"publisher":"Association for Computing Machinery (ACM)","issue":"5s","license":[{"start":{"date-parts":[[2019,10,8]],"date-time":"2019-10-08T00:00:00Z","timestamp":1570492800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001659","name":"Deutsche Forschungsgemeinschaft","doi-asserted-by":"publisher","award":["LO 1719\/3-1,146371743"],"award-info":[{"award-number":["LO 1719\/3-1,146371743"]}],"id":[{"id":"10.13039\/501100001659","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2019,10,31]]},"abstract":"<jats:p>In the embedded domain, industrial sectors (i.e., automotive industry, avionics) are undergoing radical changes. They broadly adopt commodity hardware and move away from special-purpose control units. During this transition, heterogeneous software components are consolidated to run on commodity operating systems.<\/jats:p>\n          <jats:p>\n            To efficiently consolidate such components, a modular encapsulation of common functionality into reusable binary files\u00a0(i.e., shared libraries) is essential. However, shared libraries are often unnecessarily large as they entail a lot of generic functionality that is not required in a narrowly defined scenario. As the source code of proprietary components is often unavailable and the industry is heading towards binary-only distribution, we propose an approach towards\n            <jats:italic>lightweight binary tailoring<\/jats:italic>\n            .\n          <\/jats:p>\n          <jats:p>As demonstrated in the evaluation, lightweight binary tailoring effectively reduces the amount of code in all shared libraries on a Linux-based system by 63\u00a0percent and shrinks their files by 17\u00a0percent. The reduction in size is beneficial to cut down costs (e.g., lower storage and memory footprint) and eases code analyses that are necessary for code audits.<\/jats:p>","DOI":"10.1145\/3358222","type":"journal-article","created":{"date-parts":[[2019,10,10]],"date-time":"2019-10-10T13:13:05Z","timestamp":1570713185000},"page":"1-23","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Honey, I Shrunk the ELFs"],"prefix":"10.1145","volume":"18","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3269-3281","authenticated-orcid":false,"given":"Andreas","family":"Ziegler","sequence":"first","affiliation":[{"name":"Friedrich-Alexander-Universit\u00e4t Erlangen-N\u00fcrnberg (FAU), Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Julian","family":"Geus","sequence":"additional","affiliation":[{"name":"Friedrich-Alexander-Universit\u00e4t Erlangen-N\u00fcrnberg (FAU), Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bernhard","family":"Heinloth","sequence":"additional","affiliation":[{"name":"Friedrich-Alexander-Universit\u00e4t Erlangen-N\u00fcrnberg (FAU), Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Timo","family":"H\u00f6nig","sequence":"additional","affiliation":[{"name":"Friedrich-Alexander-Universit\u00e4t Erlangen-N\u00fcrnberg (FAU), Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Daniel","family":"Lohmann","sequence":"additional","affiliation":[{"name":"Leibniz Universit\u00e4t Hannover, Hannover, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2019,10,8]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Clark","author":"Baldwin Carliss Y.","year":"2000","unstructured":"Carliss Y. Baldwin and Kim B . Clark . 2000 . Design Rules : The Power of Modularity. MIT Press . Carliss Y. Baldwin and Kim B. Clark. 2000. Design Rules: The Power of Modularity. MIT Press."},{"key":"e_1_2_1_2_1","volume-title":"Test-driven Development: By Example","author":"Beck Kent","year":"2003","unstructured":"Kent Beck . 2003 . Test-driven Development: By Example . Addison-Wesley Professional . Kent Beck. 2003. Test-driven Development: By Example. Addison-Wesley Professional."},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the 10th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools (PASTE\u201911)","author":"Andrew","year":"2024","unstructured":"Andrew R. Bernat and Barton P. Miller. 2011. Anywhere, any-time binary instrumentation . In Proceedings of the 10th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools (PASTE\u201911) . ACM, New York, NY, USA, 9--16. DOI:https:\/\/doi.org\/10.1145\/ 2024 569.2024572 Andrew R. Bernat and Barton P. Miller. 2011. Anywhere, any-time binary instrumentation. In Proceedings of the 10th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools (PASTE\u201911). ACM, New York, NY, USA, 9--16. DOI:https:\/\/doi.org\/10.1145\/2024569.2024572"},{"volume-title":"Proceedings of the Annual Conference on USENIX Annual Technical Conference (ATEC\u201904)","author":"Cantrill Bryan M.","unstructured":"Bryan M. Cantrill , Michael W. Shapiro , and Adam H. Leventhal . 2004. Dynamic instrumentation of production systems . In Proceedings of the Annual Conference on USENIX Annual Technical Conference (ATEC\u201904) . USENIX Association, Berkeley, CA, USA, 2--2. http:\/\/dl.acm.org\/citation.cfm?id&equals;1247415.1247417 Bryan M. Cantrill, Michael W. Shapiro, and Adam H. Leventhal. 2004. Dynamic instrumentation of production systems. In Proceedings of the Annual Conference on USENIX Annual Technical Conference (ATEC\u201904). USENIX Association, Berkeley, CA, USA, 2--2. http:\/\/dl.acm.org\/citation.cfm?id&equals;1247415.1247417","key":"e_1_2_1_4_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_5_1","DOI":"10.1109\/DATE.2012.6176508"},{"volume-title":"Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI\u201916)","author":"Chamith Buddhika","unstructured":"Buddhika Chamith , Bo Joel Svensson , Luke Dalessandro , and Ryan R. Newton . 2016. Living on the edge: Rapid-toggling probes with cross-modification on x86 . In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI\u201916) . ACM, New York, NY, USA, 16--26. DOI:https:\/\/doi.org\/10.1145\/2908080.2908084 Buddhika Chamith, Bo Joel Svensson, Luke Dalessandro, and Ryan R. Newton. 2016. Living on the edge: Rapid-toggling probes with cross-modification on x86. In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI\u201916). ACM, New York, NY, USA, 16--26. DOI:https:\/\/doi.org\/10.1145\/2908080.2908084","key":"e_1_2_1_6_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_7_1","DOI":"10.1145\/3062341.3062344"},{"doi-asserted-by":"publisher","key":"e_1_2_1_8_1","DOI":"10.1145\/3273045.3273048"},{"key":"e_1_2_1_9_1","volume-title":"Retrieved","author":"Intel Corporation","year":"2011","unstructured":"Intel Corporation . 2011 . Simple MKL Matrix Multiply C example . Retrieved July 30, 2019 from http:\/\/software.intel.com\/sites\/default\/files\/article\/171460\/mkl-lab-solution.c Intel Corporation. 2011. Simple MKL Matrix Multiply C example. Retrieved July 30, 2019 from http:\/\/software.intel.com\/sites\/default\/files\/article\/171460\/mkl-lab-solution.c"},{"key":"e_1_2_1_10_1","volume-title":"Retrieved","author":"Intel Corporation","year":"2019","unstructured":"Intel Corporation . 2019 . Intel Math Kernel Library (Intel MKL) . Retrieved July 30, 2019 from https:\/\/software.intel.com\/en-us\/mkl Intel Corporation. 2019. Intel Math Kernel Library (Intel MKL). Retrieved July 30, 2019 from https:\/\/software.intel.com\/en-us\/mkl"},{"key":"e_1_2_1_11_1","volume-title":"Article arXiv:1907.01933 (Jul","author":"Davidsson Nicolai","year":"2019","unstructured":"Nicolai Davidsson , Andre Pawlowski , and Thorsten Holz . 2019. Towards automated application-specific software stacks. arXiv e-prints , Article arXiv:1907.01933 (Jul 2019 ). https:\/\/arxiv.org\/abs\/1907.01933 Nicolai Davidsson, Andre Pawlowski, and Thorsten Holz. 2019. Towards automated application-specific software stacks. arXiv e-prints, Article arXiv:1907.01933 (Jul 2019). https:\/\/arxiv.org\/abs\/1907.01933"},{"key":"e_1_2_1_12_1","volume-title":"Linux Plumbers Conference","author":"de Melo Arnaldo Carvalho","year":"2009","unstructured":"Arnaldo Carvalho de Melo . 2009 . Performance counters on linux . In Linux Plumbers Conference 2009. Arnaldo Carvalho de Melo. 2009. Performance counters on linux. In Linux Plumbers Conference 2009."},{"key":"e_1_2_1_13_1","volume-title":"Retrieved","author":"The","year":"2004","unstructured":"The OpenWRT developers. 2004 . OpenWRT, a highly extensible GNU\/Linux distribution for embedded devices . Retrieved July 30, 2019 from https:\/\/openwrt.org\/. The OpenWRT developers. 2004. OpenWRT, a highly extensible GNU\/Linux distribution for embedded devices. Retrieved July 30, 2019 from https:\/\/openwrt.org\/."},{"doi-asserted-by":"publisher","key":"e_1_2_1_14_1","DOI":"10.5555\/3283535.3283538"},{"key":"e_1_2_1_15_1","volume-title":"Retrieved","author":"Evans Chris","year":"2000","unstructured":"Chris Evans . 2000 . vsftpd: Very Secure FTP Daemon . Retrieved July 30, 2019 from http:\/\/vsftpd.beasts.org. Chris Evans. 2000. vsftpd: Very Secure FTP Daemon. Retrieved July 30, 2019 from http:\/\/vsftpd.beasts.org."},{"key":"e_1_2_1_16_1","volume-title":"Retrieved","author":"Felker Rich","year":"2019","unstructured":"Rich Felker . 2019 . The musl C standard library . Retrieved July 30, 2019 from https:\/\/www.musl-libc.org\/. Rich Felker. 2019. The musl C standard library. Retrieved July 30, 2019 from https:\/\/www.musl-libc.org\/."},{"doi-asserted-by":"publisher","key":"e_1_2_1_17_1","DOI":"10.1145\/360051.360076"},{"doi-asserted-by":"publisher","key":"e_1_2_1_18_1","DOI":"10.1145\/1017753.1017787"},{"doi-asserted-by":"publisher","key":"e_1_2_1_19_1","DOI":"10.1145\/3243734.3243838"},{"key":"e_1_2_1_20_1","volume-title":"Retrieved","author":"Sun Microsystems Inc.","year":"2008","unstructured":"Sun Microsystems Inc. 2008 . Dynamic Tracing Guide . Retrieved July 30, 2019 from http:\/\/dtrace.org\/guide\/. Sun Microsystems Inc. 2008. Dynamic Tracing Guide. Retrieved July 30, 2019 from http:\/\/dtrace.org\/guide\/."},{"key":"e_1_2_1_21_1","volume-title":"Proceedings of the Linux Symposium","author":"Keniston Jim","year":"2007","unstructured":"Jim Keniston , Ananth Mavinakayanahalli , Prasanna Panchamukhi , and Vara Prasad . 2007 . Ptrace, utrace, uprobes: Lightweight, dynamic tracing of user apps . In Proceedings of the Linux Symposium 2007. 215--224. Jim Keniston, Ananth Mavinakayanahalli, Prasanna Panchamukhi, and Vara Prasad. 2007. Ptrace, utrace, uprobes: Lightweight, dynamic tracing of user apps. In Proceedings of the Linux Symposium 2007. 215--224."},{"doi-asserted-by":"publisher","key":"e_1_2_1_22_1","DOI":"10.1145\/3273045.3273050"},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the 20th Network and Distributed Systems Security Symposium (NDSS\u201913)","author":"Kurmus Anil","year":"2013","unstructured":"Anil Kurmus , Reinhard Tartler , Daniela Dorneanu , Bernhard Heinloth , Valentin Rothberg , Andreas Ruprecht , Wolfgang Schr\u00f6der-Preikschat , Daniel Lohmann , and R\u00fcdiger Kapitza . 2013 . Attack surface metrics and automated compile-time OS kernel tailoring . In Proceedings of the 20th Network and Distributed Systems Security Symposium (NDSS\u201913) . The Internet Society, The Internet Society. https:\/\/www.ibr.cs.tu-bs.de\/users\/kurmus\/papers\/kurmus-ndss13.pdf. Anil Kurmus, Reinhard Tartler, Daniela Dorneanu, Bernhard Heinloth, Valentin Rothberg, Andreas Ruprecht, Wolfgang Schr\u00f6der-Preikschat, Daniel Lohmann, and R\u00fcdiger Kapitza. 2013. Attack surface metrics and automated compile-time OS kernel tailoring. In Proceedings of the 20th Network and Distributed Systems Security Symposium (NDSS\u201913). The Internet Society, The Internet Society. https:\/\/www.ibr.cs.tu-bs.de\/users\/kurmus\/papers\/kurmus-ndss13.pdf."},{"doi-asserted-by":"publisher","key":"e_1_2_1_24_1","DOI":"10.1145\/1065010.1065034"},{"doi-asserted-by":"publisher","key":"e_1_2_1_25_1","DOI":"10.1145\/2695664.2695751"},{"doi-asserted-by":"publisher","key":"e_1_2_1_26_1","DOI":"10.1145\/3274694.3274703"},{"unstructured":"Collin Mulliner and Matthias Neugschwandtner. 2015. Breaking Payloads with Runtime Code Stripping and Image Freezing. (2015). https:\/\/www.blackhat.com\/docs\/us-15\/materials\/us-15-Mulliner-Breaking-Payloads-With-Runtime-Code-Stripping-And-Image-Freezing.pdf. Black Hat USA Las Vegas NV.  Collin Mulliner and Matthias Neugschwandtner. 2015. Breaking Payloads with Runtime Code Stripping and Image Freezing. (2015). https:\/\/www.blackhat.com\/docs\/us-15\/materials\/us-15-Mulliner-Breaking-Payloads-With-Runtime-Code-Stripping-And-Image-Freezing.pdf. Black Hat USA Las Vegas NV.","key":"e_1_2_1_27_1"},{"key":"e_1_2_1_28_1","volume-title":"Article arXiv:1902.06570 (Feb","author":"Mururu Girish","year":"2019","unstructured":"Girish Mururu , Chris Porter , Prithayan Barua , and Santosh Pande . 2019. Binary debloating for security via demand driven loading. arXiv e-prints , Article arXiv:1902.06570 (Feb 2019 ). https:\/\/arxiv.org\/abs\/1902.06570 Girish Mururu, Chris Porter, Prithayan Barua, and Santosh Pande. 2019. Binary debloating for security via demand driven loading. arXiv e-prints, Article arXiv:1902.06570 (Feb 2019). https:\/\/arxiv.org\/abs\/1902.06570"},{"doi-asserted-by":"publisher","key":"e_1_2_1_29_1","DOI":"10.1109\/ISIE.2010.5637677"},{"key":"e_1_2_1_30_1","volume-title":"Retrieved","author":"Nguyen Anh Quynh","year":"2019","unstructured":"Anh Quynh Nguyen . 2019 . Capstone: The Ultimate Disassembler . Retrieved July 30, 2019 from https:\/\/www.capstone-engine.org\/. Anh Quynh Nguyen. 2019. Capstone: The Ultimate Disassembler. Retrieved July 30, 2019 from https:\/\/www.capstone-engine.org\/."},{"key":"e_1_2_1_31_1","volume-title":"Retrieved","author":"The AUTOSAR","year":"2019","unstructured":"The AUTOSAR partnership. 2019 . Automotive Open System Architecture (AUTOSAR) . Retrieved July 30, 2019 from https:\/\/www.autosar.org\/standards\/adaptive-platform\/. The AUTOSAR partnership. 2019. Automotive Open System Architecture (AUTOSAR). Retrieved July 30, 2019 from https:\/\/www.autosar.org\/standards\/adaptive-platform\/."},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the Linux Symposium","author":"Prasad Vara","year":"2005","unstructured":"Vara Prasad , William Cohen , F. C. Eigler , Martin Hunt , Jim Keniston , and J. Chen . 2005. Locating system problems using dynamic instrumentation . In Proceedings of the Linux Symposium 2005 . Citeseer, 49--64. Vara Prasad, William Cohen, F. C. Eigler, Martin Hunt, Jim Keniston, and J. Chen. 2005. Locating system problems using dynamic instrumentation. In Proceedings of the Linux Symposium 2005. Citeseer, 49--64."},{"doi-asserted-by":"crossref","unstructured":"Alexander Pretschner Manfred Broy Ingolf H. Kruger and Thomas Stauner. 2007. Software engineering for automotive systems: A roadmap. In Future of Software Engineering (FOSE\u201907) (ICSE\u201907). 55--71. DOI:https:\/\/doi.org\/10.1109\/FOSE.2007.22  Alexander Pretschner Manfred Broy Ingolf H. Kruger and Thomas Stauner. 2007. Software engineering for automotive systems: A roadmap. In Future of Software Engineering (FOSE\u201907) (ICSE\u201907). 55--71. DOI:https:\/\/doi.org\/10.1109\/FOSE.2007.22","key":"e_1_2_1_33_1","DOI":"10.1109\/FOSE.2007.22"},{"doi-asserted-by":"publisher","key":"e_1_2_1_34_1","DOI":"10.1145\/1390630.1390635"},{"doi-asserted-by":"publisher","key":"e_1_2_1_35_1","DOI":"10.1145\/3141235.3141242"},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the 27th USENIX Security Symposium (USENIX Security\u201918)","author":"Quach Anh","year":"2018","unstructured":"Anh Quach , Aravind Prakash , and Lok Yan . 2018 . Debloating Software through piece-wise compilation and loading . In Proceedings of the 27th USENIX Security Symposium (USENIX Security\u201918) . USENIX Association, Berkeley, CA, USA, 869--886. https:\/\/www.usenix.org\/conference\/usenixsecurity18\/presentation\/quach. Anh Quach, Aravind Prakash, and Lok Yan. 2018. Debloating Software through piece-wise compilation and loading. In Proceedings of the 27th USENIX Security Symposium (USENIX Security\u201918). USENIX Association, Berkeley, CA, USA, 869--886. https:\/\/www.usenix.org\/conference\/usenixsecurity18\/presentation\/quach."},{"key":"e_1_2_1_37_1","volume-title":"Retrieved","author":"Quach Anh","year":"2018","unstructured":"Anh Quach , Aravind Prakash , and Lok Yan . 2018 . Piecewise debloating toolchain . Retrieved July 30, 2019 from https:\/\/github.com\/bingseclab\/piecewise. Anh Quach, Aravind Prakash, and Lok Yan. 2018. Piecewise debloating toolchain. Retrieved July 30, 2019 from https:\/\/github.com\/bingseclab\/piecewise."},{"doi-asserted-by":"publisher","key":"e_1_2_1_38_1","DOI":"10.1145\/3238147.3238160"},{"key":"e_1_2_1_39_1","volume-title":"Retrieved","author":"Shedel Andrey","year":"2019","unstructured":"Andrey Shedel , Gopikrishna Kannan , and Hari Pulapaka . 2019 . DTrace on Windows . Retrieved July 30, 2019 from https:\/\/techcommunity.microsoft.com\/t5\/Windows-Kernel-Internals\/DTrace-on-Windows\/ba-p\/362902. Andrey Shedel, Gopikrishna Kannan, and Hari Pulapaka. 2019. DTrace on Windows. Retrieved July 30, 2019 from https:\/\/techcommunity.microsoft.com\/t5\/Windows-Kernel-Internals\/DTrace-on-Windows\/ba-p\/362902."},{"key":"e_1_2_1_40_1","first-page":"287","article-title":"Return-to-LIBC attack blocking system and method","volume":"7","author":"Szor Peter","year":"2007","unstructured":"Peter Szor . 2007 . Return-to-LIBC attack blocking system and method . US Patent 7 , 287 ,283. Peter Szor. 2007. Return-to-LIBC attack blocking system and method. US Patent 7,287,283.","journal-title":"US Patent"},{"key":"e_1_2_1_41_1","volume-title":"KASR: A reliable and practical approach to attack surface reduction of commodity OS kernels. In Research in Attacks, Intrusions, and Defenses (RAID","author":"Zhang Zhi","year":"2018","unstructured":"Zhi Zhang , Yueqiang Cheng , Surya Nepal , Dongxi Liu , Qingni Shen , and Fethi Rabhi . 2018 . KASR: A reliable and practical approach to attack surface reduction of commodity OS kernels. In Research in Attacks, Intrusions, and Defenses (RAID 2018). Springer International Publishing , Cham , 691--710. Zhi Zhang, Yueqiang Cheng, Surya Nepal, Dongxi Liu, Qingni Shen, and Fethi Rabhi. 2018. KASR: A reliable and practical approach to attack surface reduction of commodity OS kernels. In Research in Attacks, Intrusions, and Defenses (RAID 2018). Springer International Publishing, Cham, 691--710."}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3358222","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3358222","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:23:07Z","timestamp":1750202587000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3358222"}},"subtitle":["Lightweight Binary Tailoring of Shared Libraries"],"short-title":[],"issued":{"date-parts":[[2019,10,8]]},"references-count":41,"journal-issue":{"issue":"5s","published-print":{"date-parts":[[2019,10,31]]}},"alternative-id":["10.1145\/3358222"],"URL":"https:\/\/doi.org\/10.1145\/3358222","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2019,10,8]]},"assertion":[{"value":"2019-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-10-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}