{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,10]],"date-time":"2026-01-10T07:06:29Z","timestamp":1768028789049,"version":"3.49.0"},"publisher-location":"New York, NY, USA","reference-count":20,"publisher":"ACM","license":[{"start":{"date-parts":[[2014,1,22]],"date-time":"2014-01-22T00:00:00Z","timestamp":1390348800000},"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":[[2014,1,22]]},"DOI":"10.1145\/2556464.2556465","type":"proceedings-article","created":{"date-parts":[[2014,1,28]],"date-time":"2014-01-28T13:49:29Z","timestamp":1390916969000},"page":"1-11","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":24,"title":["Recovering C++ Objects From Binaries Using Inter-Procedural Data-Flow Analysis"],"prefix":"10.1145","author":[{"given":"Wesley","family":"Jin","sequence":"first","affiliation":[{"name":"CMU"}]},{"given":"Cory","family":"Cohen","sequence":"additional","affiliation":[{"name":"CERT"}]},{"given":"Jeffrey","family":"Gennari","sequence":"additional","affiliation":[{"name":"CERT"}]},{"given":"Charles","family":"Hines","sequence":"additional","affiliation":[{"name":"CERT"}]},{"given":"Sagar","family":"Chaki","sequence":"additional","affiliation":[{"name":"SEI"}]},{"given":"Arie","family":"Gurfinkel","sequence":"additional","affiliation":[{"name":"SEI"}]},{"given":"Jeffrey","family":"Havrilla","sequence":"additional","affiliation":[{"name":"CERT"}]},{"given":"Priya","family":"Narasimhan","sequence":"additional","affiliation":[{"name":"CMU"}]}],"member":"320","published-online":{"date-parts":[[2014,1,22]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"Aris Adamantiadis. Reversing C++ programs with IDA pro and and Hey-rays. http:\/\/blog.0xbadc0de.be\/archives\/67.  Aris Adamantiadis. Reversing C++ programs with IDA pro and and Hey-rays. http:\/\/blog.0xbadc0de.be\/archives\/67."},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.5555\/1763048.1763050"},{"key":"e_1_3_2_1_3_1","volume-title":"Iterative data-flow analysis, revisited. Technical report","author":"Cooper Keith D.","year":"2004","unstructured":"Keith D. Cooper , Timothy J. Harvey , and Ken Kennedy . Iterative data-flow analysis, revisited. Technical report , Rice University , 2004 . Keith D. Cooper, Timothy J. Harvey, and Ken Kennedy. Iterative data-flow analysis, revisited. Technical report, Rice University, 2004."},{"key":"e_1_3_2_1_4_1","volume-title":"Proceedings of the 19th Annual Network and Distributed System Security Symposium, NDSS'12, http:\/\/www.internetsociety.org\/static-detection-c-vtable-escape-vulnerabilitiesbinary-code","author":"Dewey David","year":"2012","unstructured":"David Dewey and Jonathon T. Giffin . Static detection of C++ vtable escape vulnerabilities in binary code . In Proceedings of the 19th Annual Network and Distributed System Security Symposium, NDSS'12, http:\/\/www.internetsociety.org\/static-detection-c-vtable-escape-vulnerabilitiesbinary-code , 2012 . David Dewey and Jonathon T. Giffin. Static detection of C++ vtable escape vulnerabilities in binary code. In Proceedings of the 19th Annual Network and Distributed System Security Symposium, NDSS'12, http:\/\/www.internetsociety.org\/static-detection-c-vtable-escape-vulnerabilitiesbinary-code, 2012."},{"key":"e_1_3_2_1_5_1","unstructured":"Agner Fog Technical University of Denmark. Calling conventions for different C++ compilers and operating systems. http:\/\/www.agner.org\/optimize\/calling_conventions.pdf pages 16--17 Last Updated 04-09-2013.  Agner Fog Technical University of Denmark. Calling conventions for different C++ compilers and operating systems. http:\/\/www.agner.org\/optimize\/calling_conventions.pdf pages 16--17 Last Updated 04-09-2013."},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2010.43"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2011.49"},{"key":"e_1_3_2_1_8_1","unstructured":"Jan Gray. C++: Under the Hood. http:\/\/www.openrce.org\/articles\/files\/jangrayhood.pdf 1994.  Jan Gray. C++: Under the Hood. http:\/\/www.openrce.org\/articles\/files\/jangrayhood.pdf 1994."},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/53990.53994"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/12276.13322"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/360248.360252"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11219-005-1751-x"},{"key":"e_1_3_2_1_13_1","volume-title":"Tie: Principled reverse engineering of types in binary programs","author":"Lee JongHyup","year":"2011","unstructured":"JongHyup Lee , Thanassis Avgerinos , and David Brumley . Tie: Principled reverse engineering of types in binary programs . In NDSS. The Internet Society , 2011 . JongHyup Lee, Thanassis Avgerinos, and David Brumley. Tie: Principled reverse engineering of types in binary programs. In NDSS. The Internet Society, 2011."},{"key":"e_1_3_2_1_14_1","volume-title":"Proceedings of the Network and Distributed System Security Symposium (NDSS'2010)","author":"Lin Z.","year":"2010","unstructured":"Z. Lin , X. Zhang , and D. Xu . Automatic Reverse Engineering of Data Structures from Binary Execution . In Proceedings of the Network and Distributed System Security Symposium (NDSS'2010) , March 2010 . Z. Lin, X. Zhang, and D. Xu. Automatic Reverse Engineering of Data Structures from Binary Execution. In Proceedings of the Network and Distributed System Security Symposium (NDSS'2010), March 2010."},{"key":"e_1_3_2_1_15_1","first-page":"215","volume-title":"Parallel Processing Letters 10, no. 02n03","author":"Quinlan Dan","year":"2000","unstructured":"Dan Quinlan . ROSE: Compiler support for object-oriented frameworks . In Parallel Processing Letters 10, no. 02n03 , pages 215 -- 226 . 2000 . Dan Quinlan. ROSE: Compiler support for object-oriented frameworks. In Parallel Processing Letters 10, no. 02n03, pages 215--226. 2000."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/292540.292553"},{"key":"e_1_3_2_1_17_1","unstructured":"ROSE website. http:\/\/www.rosecompiler.org.  ROSE website. http:\/\/www.rosecompiler.org."},{"key":"e_1_3_2_1_18_1","unstructured":"Paul Vincent Sabanal and Mark Vincent Yason. Reversing C++. http:\/\/www.blackhat.com\/presentations\/bh-dc-07\/Sabanal_Yason\/Paper\/bh-\\dc-07-Sabanal_Yason-WP.pdf.  Paul Vincent Sabanal and Mark Vincent Yason. Reversing C++. http:\/\/www.blackhat.com\/presentations\/bh-dc-07\/Sabanal_Yason\/Paper\/bh-\\dc-07-Sabanal_Yason-WP.pdf."},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1851276.1851280"},{"key":"e_1_3_2_1_21_1","volume-title":"Cristina Cifuentes. Analysis of Virtual Method Invocation for Binary Translation. In Proceedings of the 9th Working Conference on Reverse Engineering (WCRE '02)","author":"Tr\u00f6ger Jens","year":"2002","unstructured":"Jens Tr\u00f6ger , and Cristina Cifuentes. Analysis of Virtual Method Invocation for Binary Translation. In Proceedings of the 9th Working Conference on Reverse Engineering (WCRE '02) , IEEE Computer Society, pages 65-- , 2002 . Jens Tr\u00f6ger, and Cristina Cifuentes. Analysis of Virtual Method Invocation for Binary Translation. In Proceedings of the 9th Working Conference on Reverse Engineering (WCRE '02), IEEE Computer Society, pages 65--, 2002."}],"event":{"name":"POPL '14: The 41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","location":"San Diego CA USA","acronym":"POPL '14","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGACT ACM Special Interest Group on Algorithms and Computation Theory"]},"container-title":["Proceedings of ACM SIGPLAN on Program Protection and Reverse Engineering Workshop 2014"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2556464.2556465","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2556464.2556465","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:10:05Z","timestamp":1750234205000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2556464.2556465"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,1,22]]},"references-count":20,"alternative-id":["10.1145\/2556464.2556465","10.1145\/2556464"],"URL":"https:\/\/doi.org\/10.1145\/2556464.2556465","relation":{},"subject":[],"published":{"date-parts":[[2014,1,22]]},"assertion":[{"value":"2014-01-22","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}