{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,5]],"date-time":"2026-02-05T06:34:58Z","timestamp":1770273298927,"version":"3.49.0"},"publisher-location":"New York, NY, USA","reference-count":64,"publisher":"ACM","license":[{"start":{"date-parts":[[2024,4,27]],"date-time":"2024-04-27T00:00:00Z","timestamp":1714176000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["2148301"],"award-info":[{"award-number":["2148301"]}],"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":[[2024,4,27]]},"DOI":"10.1145\/3620666.3651338","type":"proceedings-article","created":{"date-parts":[[2024,4,24]],"date-time":"2024-04-24T12:08:21Z","timestamp":1713960501000},"page":"398-415","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Flexible Non-intrusive Dynamic Instrumentation for WebAssembly"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9690-2089","authenticated-orcid":false,"given":"Ben L.","family":"Titzer","sequence":"first","affiliation":[{"name":"Carnegie Mellon University, Pittsburgh, PA, USA"}]},{"ORCID":"https:\/\/orcid.org\/0009-0005-7242-6179","authenticated-orcid":false,"given":"Elizabeth","family":"Gilbert","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University, Pittsburgh, PA, USA"}]},{"ORCID":"https:\/\/orcid.org\/0009-0001-9498-6127","authenticated-orcid":false,"given":"Bradley Wei Jie","family":"Teo","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University, Pittsburgh, PA, USA"}]},{"ORCID":"https:\/\/orcid.org\/0009-0002-6095-4714","authenticated-orcid":false,"given":"Yash","family":"Anand","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University, Pittsburgh, PA, USA"}]},{"ORCID":"https:\/\/orcid.org\/0009-0008-9285-3591","authenticated-orcid":false,"given":"Kazuyuki","family":"Takayama","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University, Pittsburgh, PA, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2059-5406","authenticated-orcid":false,"given":"Heather","family":"Miller","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University, Pittsburgh, PA, USA"}]}],"member":"320","published-online":{"date-parts":[[2024,4,27]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"https:\/\/www.fastly.com\/cassets\/6pk8mg3yh2ee\/79dsHLTEfYIMgUwVVllaa4\/5e5330572b8f317f72e16696256d8138\/WhitePaper-Multi-Cloud.pdf","author":"The","year":"2020","unstructured":"The edge of the multi-cloud. https:\/\/www.fastly.com\/cassets\/6pk8mg3yh2ee\/79dsHLTEfYIMgUwVVllaa4\/5e5330572b8f317f72e16696256d8138\/WhitePaper-Multi-Cloud.pdf, 2020. (Accessed 2021-07-06)."},{"key":"e_1_3_2_1_2_1","volume-title":"The fastest WebAssembly interpreter, and the most universal runtime. https:\/\/github.com\/wasm3\/wasm3","year":"2020","unstructured":"Wasm3: The fastest WebAssembly interpreter, and the most universal runtime. https:\/\/github.com\/wasm3\/wasm3, 2020. (Accessed 2021-08-11)."},{"key":"e_1_3_2_1_3_1","volume-title":"https:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/jvmti\/","author":"Machine Tools Interface Java Virtual","year":"2021","unstructured":"Java Virtual Machine Tools Interface. https:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/jvmti\/, 2021. (Accessed 2021-07-29)."},{"key":"e_1_3_2_1_4_1","volume-title":"the built-in JavaScript engine for WebKit. https:\/\/trac.webkit.org\/wiki\/JavaScriptCore","year":"2021","unstructured":"JavaScriptCore, the built-in JavaScript engine for WebKit. https:\/\/trac.webkit.org\/wiki\/JavaScriptCore, 2021. (Accessed 2021-07-29)."},{"key":"e_1_3_2_1_5_1","volume-title":"https:\/\/v8.dev","year":"2021","unstructured":"V8 development site. https:\/\/v8.dev, 2021. (Accessed 2021-07-29)."},{"key":"e_1_3_2_1_6_1","volume-title":"https:\/\/webassembly.github.io\/spec\/","author":"WebAssembly","year":"2021","unstructured":"WebAssembly specifications. https:\/\/webassembly.github.io\/spec\/, 2021. (Accessed 2021-07-29)."},{"key":"e_1_3_2_1_7_1","volume-title":"System Programming Guide","author":"Architectures Software Developer's Manual Intel","year":"2023","unstructured":"Intel 64\u00ae and IA-32 Architectures Software Developer's Manual Volume 3 (3A, 3B, 3C & 3D): System Programming Guide, chapter 33: Intel Processor Trace. 2023."},{"key":"e_1_3_2_1_8_1","volume-title":"A WebAssembly transformation library. https:\/\/github.com\/rustwasm\/walrus","author":"Walrus","year":"2023","unstructured":"Walrus: A WebAssembly transformation library. https:\/\/github.com\/rustwasm\/walrus, 2023."},{"key":"e_1_3_2_1_9_1","volume-title":"https:\/\/github.com\/yashanand1910\/wasm-bytecode-instrumenter","author":"Wasm","year":"2023","unstructured":"Wasm bytecode instrumenter. https:\/\/github.com\/yashanand1910\/wasm-bytecode-instrumenter, 2023."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10009-021-00644-w"},{"key":"e_1_3_2_1_11_1","volume-title":"Linux perf main page. https:\/\/perf.wiki.kernel.org\/index.php\/Main_Page","author":"Authors Linux Wiki","year":"2012","unstructured":"Linux Wiki Authors. Linux perf main page. https:\/\/perf.wiki.kernel.org\/index.php\/Main_Page, 2012. (Accessed 2023-8-4)."},{"key":"e_1_3_2_1_12_1","volume-title":"The .NET Profiling API. https:\/\/learn.microsoft.com\/en-us\/dotnet\/framework\/unmanaged-api\/profiling\/profiling-overview","author":"Wiki Authors NET","year":"2021","unstructured":".NET Wiki Authors. The .NET Profiling API. https:\/\/learn.microsoft.com\/en-us\/dotnet\/framework\/unmanaged-api\/profiling\/profiling-overview, 2021. (Accessed 2023-8-4)."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1297846.1297923"},{"key":"e_1_3_2_1_14_1","unstructured":"Fabrice Bellard. QEMU: A generic and open source machine emulator and virtualizer. http:\/\/qemu.org 2020. (Accessed 2023-8-07)."},{"key":"e_1_3_2_1_15_1","first-page":"9","volume-title":"Proceedings of the 10th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools, PASTE '11","author":"Andrew","year":"2011","unstructured":"Andrew R. Bernat and Barton P. Miller. Anywhere, any-time binary instrumentation. In Proceedings of the 10th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools, PASTE '11, page 9--16, New York, NY, USA, 2011. Association for Computing Machinery."},{"key":"e_1_3_2_1_16_1","first-page":"135","volume-title":"Proceedings of the 5th International Symposium on Principles and Practice of Programming in Java, PPPJ '07","author":"Binder Walter","year":"2007","unstructured":"Walter Binder, Jarle Hulaas, and Philippe Moret. Advanced Java byte-code instrumentation. In Proceedings of the 5th International Symposium on Principles and Practice of Programming in Java, PPPJ '07, page 135--144, New York, NY, USA, 2007. Association for Computing Machinery."},{"key":"e_1_3_2_1_17_1","volume-title":"Proceedings of the USENIX Security Symposium","author":"Bosamiya Jay","year":"2022","unstructured":"Jay Bosamiya, Wen Shih Lim, and Bryan Parno. Provably-safe multilingual software sandboxing using WebAssembly. In Proceedings of the USENIX Security Symposium, August 2022."},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2003.1191551"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/3302424.3303988"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2908080.2908084"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2088883.2088902"},{"key":"e_1_3_2_1_22_1","unstructured":"Frank Denis. Libsodium 2021."},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/949343.949320"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806672.1806674"},{"key":"e_1_3_2_1_25_1","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma E.","year":"1994","unstructured":"E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series. Pearson Education, 1994."},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2647508.2647515"},{"key":"e_1_3_2_1_27_1","volume-title":"DTrace: Dynamic Tracing in Oracle Solaris","author":"Gregg Brendan","year":"2011","unstructured":"Brendan Gregg and Jim Mauro. DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD. Prentice Hall Press, USA, 1st edition, 2011.","edition":"1"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062363"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3276945.3276968"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/3492321.3519583"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.5555\/646158.680006"},{"key":"e_1_3_2_1_32_1","first-page":"291","volume-title":"Proceedings of the ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation, PLDI '95","author":"James","year":"1995","unstructured":"James R. Larus and Eric Schnarr. EEL: Machine-independent executable editing. In Proceedings of the ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation, PLDI '95, page 291--300, New York, NY, USA, 1995. Association for Computing Machinery."},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/3297858.3304068"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3458864.3466910"},{"key":"e_1_3_2_1_35_1","first-page":"94","volume-title":"2021 IEEE\/ACM Symposium on Edge Computing (SEC)","author":"Liu Renju","year":"2021","unstructured":"Renju Liu, Luis Garcia, and Mani Srivastava. Aerogel: Lightweight access control framework for WebAssembly-based bare-metal IoT devices. In 2021 IEEE\/ACM Symposium on Edge Computing (SEC), pages 94--105, 2021."},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1064978.1065034"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517208.2517219"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2162049.2162077"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.471178"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/3464432.3464780"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-20891-1_18"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1273442.1250746"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/3434770.3459731"},{"key":"e_1_3_2_1_44_1","volume-title":"Bytecode-level analysis and optimization of Java classes. Master's thesis","author":"Nystrom Nathaniel John","year":"1998","unstructured":"Nathaniel John Nystrom. Bytecode-level analysis and optimization of Java classes. Master's thesis, Purdue University, August 1998."},{"key":"e_1_3_2_1_45_1","unstructured":"Louis-No\u00ebl Pouchet. PolyBench May 2016."},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/3578245.3584851"},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.23919\/CISTI54924.2022.9820136"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.5555\/1267658.1267659"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491447"},{"key":"e_1_3_2_1_50_1","first-page":"323","volume-title":"Runtime Verification: 20th International Conference, RV 2020, Los Angeles, CA, USA, October 6--9, 2020, Proceedings 20","author":"Soueidi Chukri","year":"2020","unstructured":"Chukri Soueidi, Ali Kassem, and Yli\u00e8s Falcone. BISM: bytecode-level instrumentation for software monitoring. In Runtime Verification: 20th International Conference, RV 2020, Los Angeles, CA, USA, October 6--9, 2020, Proceedings 20, pages 323--335. Springer, 2020."},{"key":"e_1_3_2_1_51_1","volume-title":"Microsoft Research","author":"Srivastava A.","year":"2001","unstructured":"A. Srivastava, A. Edwards, and H. Vo. Vulcan: Binary transformation in a distributed environment. Technical report, Microsoft Research, 2001."},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/178243.178260"},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2491962"},{"key":"e_1_3_2_1_54_1","volume-title":"An advanced Webassembly Engine for Research. https:\/\/github.com\/titzer\/wizard-engine","author":"Titzer Ben L.","year":"2021","unstructured":"Ben L. Titzer. Wizard, An advanced Webassembly Engine for Research. https:\/\/github.com\/titzer\/wizard-engine, 2021. (Accessed 2021-07-29)."},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/3563311"},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO57630.2024.10444855"},{"key":"e_1_3_2_1_57_1","first-page":"67","volume-title":"Proceedings of the 4th International Symposium on Information Processing in Sensor Networks, IPSN '05","author":"Titzer Ben L.","unstructured":"Ben L. Titzer, Daniel K. Lee, and Jens Palsberg. Avrora: Scalable sensor network simulation with precise timing. In Proceedings of the 4th International Symposium on Information Processing in Sensor Networks, IPSN '05, page 67--es. IEEE Press, 2005."},{"key":"e_1_3_2_1_58_1","first-page":"59","volume-title":"Proceedings of the 2005 ACM SIGPLAN\/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, LCTES '05","author":"Ben","year":"2005","unstructured":"Ben L. Titzer and Jens Palsberg. Nonintrusive precision instrumentation of microcontroller software. In Proceedings of the 2005 ACM SIGPLAN\/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, LCTES '05, page 59--68, New York, NY, USA, 2005. Association for Computing Machinery."},{"key":"e_1_3_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1925805.1925818"},{"key":"e_1_3_2_1_60_1","unstructured":"Kenton Varda. WebAssembly on Cloudflare Workers. https:\/\/blog.cloudflare.com\/webassembly-on-cloudflare-workers\/. (Accessed 2021-07-06)."},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/3519939.3523428"},{"key":"e_1_3_2_1_62_1","first-page":"53","volume-title":"Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2018","author":"Watt Conrad","year":"2018","unstructured":"Conrad Watt. Mechanising and verifying the WebAssembly specification. In Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2018, page 53--65, New York, NY, USA, 2018. Association for Computing Machinery."},{"key":"e_1_3_2_1_63_1","volume-title":"From hack to elaborate technique - a survey on binary rewriting. ACM Comput. Surv., 52(3), jun","author":"Wenzl Matthias","year":"2019","unstructured":"Matthias Wenzl, Georg Merzdovnik, Johanna Ullrich, and Edgar Weippl. From hack to elaborate technique - a survey on binary rewriting. ACM Comput. Surv., 52(3), jun 2019."},{"key":"e_1_3_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/3453483.3454096"}],"event":{"name":"ASPLOS '24: 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3","location":"La Jolla CA USA","acronym":"ASPLOS '24","sponsor":["SIGARCH ACM Special Interest Group on Computer Architecture","SIGOPS ACM Special Interest Group on Operating Systems","SIGPLAN ACM Special Interest Group on Programming Languages","SIGBED ACM Special Interest Group on Embedded Systems"]},"container-title":["Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3620666.3651338","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/abs\/10.1145\/3620666.3651338","content-type":"text\/html","content-version":"vor","intended-application":"syndication"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T00:03:42Z","timestamp":1750291422000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3620666.3651338"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,4,27]]},"references-count":64,"alternative-id":["10.1145\/3620666.3651338","10.1145\/3620666"],"URL":"https:\/\/doi.org\/10.1145\/3620666.3651338","relation":{},"subject":[],"published":{"date-parts":[[2024,4,27]]},"assertion":[{"value":"2024-04-27","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}