{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,10]],"date-time":"2026-03-10T14:57:59Z","timestamp":1773154679616,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":49,"publisher":"ACM","license":[{"start":{"date-parts":[[2019,12,9]],"date-time":"2019-12-09T00:00:00Z","timestamp":1575849600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100011199","name":"European Research Council","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100011199","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001659","name":"Deutsche Forschungsgemeinschaft","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100001659","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2019,12,9]]},"DOI":"10.1145\/3359789.3359797","type":"proceedings-article","created":{"date-parts":[[2019,11,22]],"date-time":"2019-11-22T18:41:59Z","timestamp":1574448119000},"page":"97-112","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["VPS"],"prefix":"10.1145","author":[{"given":"Andre","family":"Pawlowski","sequence":"first","affiliation":[{"name":"Ruhr-Universit\u00e4t Bochum"}]},{"given":"Victor","family":"van der Veen","sequence":"additional","affiliation":[{"name":"Vrije Universiteit Amsterdam"}]},{"given":"Dennis","family":"Andriesse","sequence":"additional","affiliation":[{"name":"Vrije Universiteit Amsterdam"}]},{"given":"Erik","family":"van der Kouwe","sequence":"additional","affiliation":[{"name":"Leiden University"}]},{"given":"Thorsten","family":"Holz","sequence":"additional","affiliation":[{"name":"Ruhr-Universit\u00e4t Bochum"}]},{"given":"Cristiano","family":"Giuffrida","sequence":"additional","affiliation":[{"name":"Vrije Universiteit Amsterdam"}]},{"given":"Herbert","family":"Bos","sequence":"additional","affiliation":[{"name":"Vrije Universiteit Amsterdam"}]}],"member":"320","published-online":{"date-parts":[[2019,12,9]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"2018. Executable and Linkable Format (ELF). https:\/\/www.cs.cmu.edu\/afs\/cs\/academic\/class\/15213-s00\/doc\/elf.pdf.  2018. Executable and Linkable Format (ELF). https:\/\/www.cs.cmu.edu\/afs\/cs\/academic\/class\/15213-s00\/doc\/elf.pdf."},{"key":"e_1_3_2_1_2_1","volume-title":"Control-Flow Integrity. In ACM Conference on Computer and Communications Security (CCS).","author":"Abadi Mart\u00edn","year":"2005"},{"key":"e_1_3_2_1_3_1","unstructured":"Adobe. 2019. Adobe Flash Player. https:\/\/get.adobe.com\/de\/flashplayer\/.  Adobe. 2019. Adobe Flash Player. https:\/\/get.adobe.com\/de\/flashplayer\/."},{"key":"e_1_3_2_1_4_1","volume-title":"Any-Time Binary Instrumentation. In ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE).","author":"Andrew"},{"key":"e_1_3_2_1_5_1","volume-title":"Mitigating Code-reuse Attacks with Control-Flow Locking. In Annual Computer Security Applications Conference (ACSAC).","author":"Bletsch Tyler","year":"2011"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2016.23421"},{"key":"e_1_3_2_1_7_1","volume-title":"Symposium on Network and Distributed System Security (NDSS).","author":"Burow Nathan","year":"2018"},{"key":"e_1_3_2_1_8_1","volume-title":"Control-Flow Bending: On the Effectiveness of Control-Flow Integrity. In USENIX Security Symposium.","author":"Carlini Nicholas","year":"2015"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2810103.2813671"},{"key":"e_1_3_2_1_10_1","unstructured":"Jonathan Corbet. 2015. Memory protection keys. https:\/\/lwn.net\/Articles\/643797\/.  Jonathan Corbet. 2015. Memory protection keys. https:\/\/lwn.net\/Articles\/643797\/."},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2810103.2813682"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"crossref","unstructured":"Ron Cytron Jeanne Ferrante Barry K Rosen Mark N Wegman and F Kenneth Zadeck. 1991. Efficiently Computing Static Single Assignment Form and the Control Dependence Graph. In ACM Transactions on Programming Languages and Systems (TOPLAS).  Ron Cytron Jeanne Ferrante Barry K Rosen Mark N Wegman and F Kenneth Zadeck. 1991. Efficiently Computing Static Single Assignment Form and the Control Dependence Graph. In ACM Transactions on Programming Languages and Systems (TOPLAS).","DOI":"10.1145\/115372.115320"},{"key":"e_1_3_2_1_13_1","unstructured":"Valgrind Developers. 2018. Valgrind. http:\/\/www.valgrind.org\/.  Valgrind Developers. 2018. Valgrind. http:\/\/www.valgrind.org\/."},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3052973.3052976"},{"key":"e_1_3_2_1_15_1","unstructured":"Agner Fog. 2018. Calling conventions for different C++ compilers and operating systems. http:\/\/agner.org\/optimize\/calling_conventions.pdf.  Agner Fog. 2018. Calling conventions for different C++ compilers and operating systems. http:\/\/agner.org\/optimize\/calling_conventions.pdf."},{"key":"e_1_3_2_1_16_1","unstructured":"Linux Foundation. 2018. Itanium C++ ABI. http:\/\/refspecs.linuxbase.org\/cxxabi-1.83.html.  Linux Foundation. 2018. Itanium C++ ABI. http:\/\/refspecs.linuxbase.org\/cxxabi-1.83.html."},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2664243.2664249"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2017.23199"},{"key":"e_1_3_2_1_19_1","volume-title":"Out Of Control: Overcoming Control-Flow Integrity. In IEEE Symposium on Security and Privacy (S&P).","author":"G\u00f6ktas Enes","year":"2014"},{"key":"e_1_3_2_1_20_1","volume-title":"USENIX Security Symposium.","author":"Goktas Enes","year":"2016"},{"key":"e_1_3_2_1_21_1","unstructured":"Google. 2018. Protocol Buffers. https:\/\/developers.google.com\/protocol-buffers\/.  Google. 2018. Protocol Buffers. https:\/\/developers.google.com\/protocol-buffers\/."},{"key":"e_1_3_2_1_22_1","volume-title":"Project Triforce: Run AFL on Everything! https:\/\/www.nccgroup.trust\/us\/about-us\/newsroom-and-events\/blog\/2016\/june\/project-triforce-run-afl-on-everything\/.","author":"Hertz Jesse","year":"2018"},{"key":"e_1_3_2_1_23_1","unstructured":"IDAPython. 2018. IDAPython. https:\/\/github.com\/idapython.  IDAPython. 2018. IDAPython. https:\/\/github.com\/idapython."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2556464.2556465"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2837614.2837674"},{"key":"e_1_3_2_1_26_1","volume-title":"Statistical Reconstruction of Class Hierarchies in Binaries. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).","author":"Katz Omer","year":"2018"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/3064176.3064217"},{"key":"e_1_3_2_1_28_1","volume-title":"Code-Pointer Integrity. In USENIX Symposium on Operating Systems Design and Implementation (OSDI).","author":"Kuznetsov Volodymyr","year":"2014"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065034"},{"key":"e_1_3_2_1_30_1","volume-title":"Modular Control-Flow Integrity. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).","author":"Niu Ben","year":"2014"},{"key":"e_1_3_2_1_31_1","unstructured":"United States Government Accountability Office. 2016. Federal Agencies Need to Address Aging Legacy Systems. https:\/\/www.gao.gov\/assets\/680\/677436.pdf.  United States Government Accountability Office. 2016. Federal Agencies Need to Address Aging Legacy Systems. https:\/\/www.gao.gov\/assets\/680\/677436.pdf."},{"key":"e_1_3_2_1_32_1","volume-title":"Poking Holes in Information Hiding. In USENIX Security Symposium.","author":"Oikonomopoulos Angelos","year":"2016"},{"key":"e_1_3_2_1_33_1","volume-title":"Symposium on Network and Distributed System Security (NDSS).","author":"Pawlowski Andre"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-22424-9_12"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2015.23297"},{"key":"e_1_3_2_1_36_1","volume-title":"Vuzzer: Application-aware Evolutionary Fuzzing. In Symposium on Network and Distributed System Security (NDSS).","author":"Rawat Sanjay","year":"2017"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2991079.2991121"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2015.51"},{"key":"e_1_3_2_1_39_1","volume-title":"SPEC CPU2006","author":"SPEC.","year":"2018"},{"key":"e_1_3_2_1_40_1","volume-title":"SPEC CPU2017","author":"SPEC.","year":"2018"},{"key":"e_1_3_2_1_41_1","unstructured":"Bjarne Stroustrup. 2013. The C++ Programming Language. Pearson Education.  Bjarne Stroustrup. 2013. The C++ Programming Language. Pearson Education."},{"key":"e_1_3_2_1_42_1","volume-title":"Improving Function Pointer Security for Virtual Method Dispatches. In GNU Tools Cauldron Workshop.","author":"Tice Caroline","year":"2012"},{"key":"e_1_3_2_1_43_1","volume-title":"Enforcing Forward-Edge Control-Flow Integrity in GCC & LLVM. In USENIX Security Symposium.","author":"Tice Caroline","year":"2014"},{"key":"e_1_3_2_1_44_1","unstructured":"Victor van der Veen. 2017. Trends in Memory Errors. https:\/\/vvdveen.com\/memory-errors\/.  Victor van der Veen. 2017. Trends in Memory Errors. https:\/\/vvdveen.com\/memory-errors\/."},{"key":"e_1_3_2_1_45_1","volume-title":"Practical Context-Sensitive CFI. In ACM Conference on Computer and Communications Security (CCS).","author":"van der Veen Victor","year":"2015"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133956.3134026"},{"key":"e_1_3_2_1_47_1","volume-title":"IEEE Symposium on Security and Privacy (S&P).","author":"Der Veen Victor Van","year":"2016"},{"key":"e_1_3_2_1_48_1","volume-title":"VTint: Protecting Virtual Function Tables' Integrity. In Symposium on Network and Distributed System Security (NDSS).","author":"Zhang Chao","year":"2015"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2016.23164"}],"event":{"name":"ACSAC '19: 2019 Annual Computer Security Applications Conference","location":"San Juan Puerto Rico USA","acronym":"ACSAC '19"},"container-title":["Proceedings of the 35th Annual Computer Security Applications Conference"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3359789.3359797","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3359789.3359797","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\/3359789.3359797"}},"subtitle":["excavating high-level C++ constructs from low-level binaries to protect dynamic dispatching"],"short-title":[],"issued":{"date-parts":[[2019,12,9]]},"references-count":49,"alternative-id":["10.1145\/3359789.3359797","10.1145\/3359789"],"URL":"https:\/\/doi.org\/10.1145\/3359789.3359797","relation":{},"subject":[],"published":{"date-parts":[[2019,12,9]]},"assertion":[{"value":"2019-12-09","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}