{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,22]],"date-time":"2026-10-22T00:11:09Z","timestamp":1792627869834,"version":"4.5.0"},"publisher-location":"New York, NY, USA","reference-count":42,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,6,11]],"date-time":"2020-06-11T00:00:00Z","timestamp":1591833600000},"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":[[2020,6,11]]},"DOI":"10.1145\/3385412.3385972","type":"proceedings-article","created":{"date-parts":[[2020,6,7]],"date-time":"2020-06-07T01:40:10Z","timestamp":1591494010000},"page":"151-163","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":84,"title":["Binary rewriting without control flow recovery"],"prefix":"10.1145","author":[{"given":"Gregory J.","family":"Duck","sequence":"first","affiliation":[{"name":"National University of Singapore, Singapore"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Xiang","family":"Gao","sequence":"additional","affiliation":[{"name":"National University of Singapore, Singapore"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Abhik","family":"Roychoudhury","sequence":"additional","affiliation":[{"name":"National University of Singapore, Singapore"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2020,6,11]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"Security Symposium. USENIX.","author":"Andriesse D.","unstructured":"D. Andriesse, X. Chen, V. Van Der Veen, A. Slowinska, and H. Bos. 2016. An In-Depth Analysis of Disassembly on Full-Scale X86\/X64 Binaries. In Security Symposium. USENIX."},{"key":"e_1_3_2_1_2_1","volume-title":"Network and Distributed System Security Symposium. Internet Society.","author":"Bauman E.","unstructured":"E. Bauman, Z. Lin, and K. Hamlen. 2018. Superset Disassembly: Statically Rewriting x86 Binaries Without Heuristics. In Network and Distributed System Security Symposium. Internet Society."},{"key":"e_1_3_2_1_3_1","volume-title":"Any-time Binary Instrumentation. In Workshop on Program Analysis for Software Tools. ACM.","author":"Bernat A.","unstructured":"A. Bernat and B. Miller. 2011. Anywhere, Any-time Binary Instrumentation. In Workshop on Program Analysis for Software Tools. ACM."},{"key":"e_1_3_2_1_4_1","unstructured":"D. Bruening. 2004. Efficient Transparent and Comprehensive Runtime Code Manipulation. Ph.D. Dissertation."},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"crossref","unstructured":"D. Bruening and Q. Zhao. 2011. Practical Memory Checking with Dr. Memory. In Code Generation and Optimization. IEEE.","DOI":"10.1109\/CGO.2011.5764689"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"crossref","unstructured":"B. Buck and J. Hollingsworth. 2000. An API for Runtime Code Patching. High Performance Computing Applications 14 4 (2000).","DOI":"10.1177\/109434200001400404"},{"key":"e_1_3_2_1_7_1","volume-title":"Instruction Punning: Lightweight Instrumentation for x86-64. In Program Design and Implementation. ACM.","author":"Chamith B.","year":"2017","unstructured":"B. Chamith, B. Svensson, L. Dalessandro, and R. Newton. 2017. Instruction Punning: Lightweight Instrumentation for x86-64. In Program Design and Implementation. ACM."},{"key":"e_1_3_2_1_8_1","volume-title":"Symposium on Information, Computer and Communications Security. ACM.","author":"Davi L.","unstructured":"L. Davi, A. Sadeghi, and M. Winandy. 2011. ROPdefender: A Detection Tool to Defend Against Return-oriented Programming Attacks. In Symposium on Information, Computer and Communications Security. ACM."},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"crossref","unstructured":"B. De Sutter B. Bus and K. De Bosschere. 2005. Link-time Binary Rewriting Techniques for Program Compaction. (2005).","DOI":"10.1145\/1086642.1086645"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"crossref","unstructured":"S. Dinesh N. Burow D. Xu and M. Payer. 2020. RetroWrite : Statically Instrumenting COTS Binaries for Fuzzing and Sanitization. In Security and Privacy. IEEE.","DOI":"10.1109\/SP40000.2020.00009"},{"key":"e_1_3_2_1_11_1","unstructured":"Dromaeo 2020. Dromaeo Benchmarks. http:\/\/dromaeo.com\/."},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"crossref","unstructured":"G. Duck and R. Yap. 2016. Heap Bounds Protection with Low Fat Pointers. In Compiler Construction. ACM.","DOI":"10.1145\/2892208.2892212"},{"key":"e_1_3_2_1_13_1","volume-title":"Stack Bounds Protection with Low Fat Pointers. In Network and Distributed System Security Symposium. Internet Society.","author":"Duck G.","unstructured":"G. Duck, R. Yap, and L. Cavallaro. 2017. Stack Bounds Protection with Low Fat Pointers. In Network and Distributed System Security Symposium. Internet Society."},{"key":"e_1_3_2_1_14_1","volume-title":"DARPA Information Survivability Conference and Exposition. IEEE.","author":"Erlingsson U.","unstructured":"U. Erlingsson and F. Schneider. 2000. SASI Enforcement of Security Policies: a Retrospective. In DARPA Information Survivability Conference and Exposition. IEEE."},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2810103.2813646"},{"key":"e_1_3_2_1_16_1","unstructured":"Firefox 2020. Firefox Web Browser. https:\/\/www.mozilla.org\/."},{"key":"e_1_3_2_1_17_1","unstructured":"Google Chrome 2020. Google Chrome Web Browser. https:\/\/www. google.com\/chrome\/."},{"key":"e_1_3_2_1_18_1","volume-title":"SPEC CPU2006 Benchmark Descriptions. Computer Architecture News 34","author":"Henning J.","year":"2006","unstructured":"J. Henning. 2006. SPEC CPU2006 Benchmark Descriptions. Computer Architecture News 34, 4 (2006)."},{"key":"e_1_3_2_1_19_1","volume-title":"Workshop on Forming an Ecosystem Around Software Transformation (FEAST \u201917)","author":"Hiser J.","unstructured":"J. Hiser, A. Nguyen-Tuong, W. Hawkins, M. McGill, M. Co, and J. Davidson. 2017. Zipr++: Exceptional Binary Rewriting. In Workshop on Forming an Ecosystem Around Software Transformation (FEAST \u201917). ACM."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"crossref","unstructured":"Y. Hu Y. Zhang and D. Gu. 2019. Automatically Patching Vulnerabilities of Binary Programs via Code Transfer From Correct Versions. IEEE Access 7 (2019).","DOI":"10.1109\/ACCESS.2019.2901951"},{"key":"e_1_3_2_1_21_1","volume-title":"PEBIL: Efficient Static Binary Instrumentation for Linux. In Symposium on Performance Analysis of Systems Software.","author":"Laurenzano M.","unstructured":"M. Laurenzano, M. Tikir, L. Carrington, and A. Snavely. 2010. PEBIL: Efficient Static Binary Instrumentation for Linux. In Symposium on Performance Analysis of Systems Software."},{"key":"e_1_3_2_1_22_1","unstructured":"LLVM. 2020. https:\/\/llvm.org."},{"key":"e_1_3_2_1_23_1","unstructured":"LowFat 2020. LowFat. https:\/\/github.com\/GJDuck\/LowFat."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065034"},{"key":"e_1_3_2_1_25_1","unstructured":"McSema. 2020. https:\/\/github.com\/lifting-bits\/mcsema."},{"key":"e_1_3_2_1_26_1","volume-title":"International Symposium on Software Testing and Analysis. ACM.","author":"Meng X.","unstructured":"X. Meng and B. Miller. 2016. Binary Code is Not Easy. In International Symposium on Software Testing and Analysis. ACM."},{"key":"e_1_3_2_1_27_1","volume-title":"Probabilistic Disassembly. In International Conference on Software Engineering. IEEE.","author":"Miller K.","unstructured":"K. Miller, Y. Kwon, Y. Sun, Z. Zhang, X. Zhang, and Z. Lin. 2019. Probabilistic Disassembly. In International Conference on Software Engineering. IEEE."},{"key":"e_1_3_2_1_28_1","volume-title":"Alto: A Link-time Optimizer for the Compaq Alpha. Software: Practice and Experience 31","author":"Muth R.","year":"2001","unstructured":"R. Muth, S. Debray, S. Watterson, and K. De Bosschere. 2001. Alto: A Link-time Optimizer for the Compaq Alpha. Software: Practice and Experience 31 (2001)."},{"key":"e_1_3_2_1_29_1","volume-title":"Full-speed Fuzzing: Reducing Fuzzing Overhead through Coverage-guided Tracing. In Security and Privacy","author":"Nagy S.","year":"2019","unstructured":"S. Nagy and M. Hicks. 2019. Full-speed Fuzzing: Reducing Fuzzing Overhead through Coverage-guided Tracing. In Security and Privacy. IEEE."},{"key":"e_1_3_2_1_30_1","volume-title":"Symposium on Code Generation and Optimization. IEEE.","author":"Nanda S.","unstructured":"S. Nanda, W. Li, L. Lam, and T. Chiueh. 2006. BIRD: Binary Interpretation using Runtime Disassembly. In Symposium on Code Generation and Optimization. IEEE."},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250746"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"crossref","unstructured":"P. O\u2019Sullivan K. Anand A. Kotha M. Smithson R. Barua and A. Keromytis. 2011. Retrofitting Security in COTS Software with Binary Rewriting. In Future Challenges in Security and Privacy for Academia and Industry. Springer.","DOI":"10.1007\/978-3-642-21424-0_13"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"crossref","unstructured":"E. Schulte J. DiLorenzo W. Weimer and S. Forrest. 2013. Automated Repair of Binary and Assembly Programs for Cooperating Embedded Devices. In Architectural Support for Programming Languages and Operating Systems. ACM.","DOI":"10.1145\/2451116.2451151"},{"key":"e_1_3_2_1_34_1","volume-title":"Supplemental Information: Overcoming the Tradeoff between Coverage and Correctness.","author":"Smithson M.","year":"2013","unstructured":"M. Smithson, K. Elwazeer, K. Anand, A. Kotha, and R. Barua. 2013. Static Binary Rewriting without Supplemental Information: Overcoming the Tradeoff between Coverage and Correctness."},{"key":"e_1_3_2_1_35_1","volume-title":"Vulcan: Binary Transformation In A Distributed Environment. Technical Report MSR-TR-2001-50.","author":"Srivastava A.","year":"2001","unstructured":"A. Srivastava, A. Edwards, and H. Vo. 2001. Vulcan: Binary Transformation In A Distributed Environment. Technical Report MSR-TR-2001-50."},{"key":"e_1_3_2_1_36_1","first-page":"1","article-title":"LANCET: A Nifty Code Editing Tool","volume":"31","author":"Van Put L.","year":"2005","unstructured":"L. Van Put, B. De Sutter, M. Madou, B. De Bus, D. Chanet, K. Smits, and K. De Bosschere. 2005. LANCET: A Nifty Code Editing Tool. Software Engineering Notes 31, 1 (Sept. 2005).","journal-title":"Software Engineering Notes"},{"key":"e_1_3_2_1_37_1","volume-title":"Reassembleable Disassembling. In Security Symposium. USENIX.","author":"Wang S.","unstructured":"S. Wang, P. Wang, and D. Wu. 2015. Reassembleable Disassembling. In Security Symposium. USENIX."},{"key":"e_1_3_2_1_38_1","volume-title":"UROBOROS: Instrumenting Stripped Binaries with Static Reassembling. In Software Analysis, Evolution, and Reengineering","author":"Wang S.","year":"2016","unstructured":"S. Wang, P. Wang, and D. Wu. 2016. UROBOROS: Instrumenting Stripped Binaries with Static Reassembling. In Software Analysis, Evolution, and Reengineering. IEEE."},{"key":"e_1_3_2_1_39_1","volume-title":"Annual Computer Security Applications Conference. ACM.","author":"Wartell R.","unstructured":"R. Wartell, V. Mohan, K. Hamlen, and Z. Lin. 2012. Securing Untrusted Code via Compiler-agnostic Binary Rewriting. In Annual Computer Security Applications Conference. ACM."},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"crossref","unstructured":"M. Wenzl G. Merzdovnik J. Ullrich and E. Weippl. 2019. From Hack to Elaborate Technique - A Survey on Binary Rewriting. Computing Surveys 52 3 (2019).","DOI":"10.1145\/3316415"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/3373376.3378470"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"crossref","unstructured":"M. Zhang R. Qiao N. Hasabnis and R. Sekar. 2014. A Platform for Secure Static Binary Instrumentation. In Virtual Execution Environments. ACM.","DOI":"10.1145\/2576195.2576208"}],"event":{"name":"PLDI '20: 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation","location":"London UK","acronym":"PLDI '20","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3385412.3385972","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3385412.3385972","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:41:14Z","timestamp":1750200074000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3385412.3385972"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,6,11]]},"references-count":42,"alternative-id":["10.1145\/3385412.3385972","10.1145\/3385412"],"URL":"https:\/\/doi.org\/10.1145\/3385412.3385972","relation":{},"subject":[],"published":{"date-parts":[[2020,6,11]]},"assertion":[{"value":"2020-06-11","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}