{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:35:22Z","timestamp":1750221322175,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":57,"publisher":"ACM","license":[{"start":{"date-parts":[[2017,9,27]],"date-time":"2017-09-27T00:00:00Z","timestamp":1506470400000},"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":[[2017,9,27]]},"DOI":"10.1145\/3132190.3132204","type":"proceedings-article","created":{"date-parts":[[2017,9,15]],"date-time":"2017-09-15T12:21:06Z","timestamp":1505478066000},"page":"35-47","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Lenient Execution of C on a Java Virtual Machine"],"prefix":"10.1145","author":[{"given":"Manuel","family":"Rigger","sequence":"first","affiliation":[{"name":"Johannes Kepler University Linz, Austria"}]},{"given":"Roland","family":"Schatz","sequence":"additional","affiliation":[{"name":"Oracle Labs, Austria"}]},{"given":"Matthias","family":"Grimmer","sequence":"additional","affiliation":[{"name":"Oracle Labs, Austria"}]},{"given":"Hanspeter","family":"M\u00f6ssenb\u00f6ck","sequence":"additional","affiliation":[{"name":"Johannes Kepler University Linz, Austria"}]}],"member":"320","published-online":{"date-parts":[[2017,9,27]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings. 283--307","author":"Batty Mark","year":"2015","unstructured":"Mark Batty , Kayvan Memarian , Kyndylan Nienhuis , Jean Pichon-Pharabod , and Peter Sewell . 2015 . The Problem of Programming Language Concurrency Semantics. In Programming Languages and Systems - 24th European Symposium on Programming , ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings. 283--307 . Mark Batty, Kayvan Memarian, Kyndylan Nienhuis, Jean Pichon-Pharabod, and Peter Sewell. 2015. The Problem of Programming Language Concurrency Semantics. In Programming Languages and Systems - 24th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings. 283--307."},{"key":"e_1_3_2_1_2_1","volume-title":"boringcc. (2015). https:\/\/groups.google.com\/forum\/m\/#!msg\/boring-crypto\/48qa1kWignU\/o8GGp2K1DAAJ (Accessed","author":"Berstein Daniel Julius","year":"2017","unstructured":"Daniel Julius Berstein . 2015. boringcc. (2015). https:\/\/groups.google.com\/forum\/m\/#!msg\/boring-crypto\/48qa1kWignU\/o8GGp2K1DAAJ (Accessed August 2017 ). Daniel Julius Berstein. 2015. boringcc. (2015). https:\/\/groups.google.com\/forum\/m\/#!msg\/boring-crypto\/48qa1kWignU\/o8GGp2K1DAAJ (Accessed August 2017)."},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380180902"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/2190025.2190067"},{"key":"e_1_3_2_1_5_1","volume-title":"RICH: Automatically protecting against integer-based vulnerabilities. Department of Electrical and Computing Engineering","author":"Brumley David","year":"2007","unstructured":"David Brumley , Tzi-cker Chiueh, Robert Johnson , Huijia Lin , and Dawn Song . 2007 . RICH: Automatically protecting against integer-based vulnerabilities. Department of Electrical and Computing Engineering (2007), 28. David Brumley, Tzi-cker Chiueh, Robert Johnson, Huijia Lin, and Dawn Song. 2007. RICH: Automatically protecting against integer-based vulnerabilities. Department of Electrical and Computing Engineering (2007), 28."},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694367"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2754169.2754181"},{"key":"e_1_3_2_1_8_1","volume-title":"Proposal for a Friendly Dialect of C. (2014). https:\/\/blog.regehr.org\/archives\/1180 (Accessed","author":"Cuoq Pascal","year":"2017","unstructured":"Pascal Cuoq , Matthew Flatt , and John Regehr . 2014. Proposal for a Friendly Dialect of C. (2014). https:\/\/blog.regehr.org\/archives\/1180 (Accessed August 2017 ). Pascal Cuoq, Matthew Flatt, and John Regehr. 2014. Proposal for a Friendly Dialect of C. (2014). https:\/\/blog.regehr.org\/archives\/1180 (Accessed August 2017)."},{"key":"e_1_3_2_1_9_1","volume-title":"VMCAI 2017, Paris, France, January 15-17, 2017, Proceedings, Ahmed Bouajjani and David Monniaux (Eds.). Springer International Publishing, Cham, 14--33","author":"Cuoq Pascal","year":"2017","unstructured":"Pascal Cuoq , Lo\u00efc Runarvot , and Alexander Cherepanov . 2017 . Detecting Strict Aliasing Violations in the Wild. In Verification, Model Checking, and Abstract Interpretation: 18th International Conference , VMCAI 2017, Paris, France, January 15-17, 2017, Proceedings, Ahmed Bouajjani and David Monniaux (Eds.). Springer International Publishing, Cham, 14--33 . Pascal Cuoq, Lo\u00efc Runarvot, and Alexander Cherepanov. 2017. Detecting Strict Aliasing Violations in the Wild. In Verification, Model Checking, and Abstract Interpretation: 18th International Conference, VMCAI 2017, Paris, France, January 15-17, 2017, Proceedings, Ahmed Bouajjani and David Monniaux (Eds.). Springer International Publishing, Cham, 14--33."},{"key":"e_1_3_2_1_10_1","first-page":"11","article-title":"C to Java: converting pointers into references. Concurrency","volume":"10","author":"Demaine Erik D.","year":"1998","unstructured":"Erik D. Demaine . 1998 . C to Java: converting pointers into references. Concurrency : Practice and Experience 10 , 11 - 13 (1998), 851--861. Erik D. Demaine. 1998. C to Java: converting pointers into references. Concurrency: Practice and Experience 10, 11-13 (1998), 851--861.","journal-title":"Practice and Experience"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2743019"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/2867541.2867769"},{"key":"e_1_3_2_1_13_1","volume-title":"Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS","author":"Ertl M Anton","year":"2015","unstructured":"M Anton Ertl . 2015. What every compiler writer should know about programmers or \"Optimization\" based on undefined behaviour hurts performance . In Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS 2015 ). M Anton Ertl. 2015. What every compiler writer should know about programmers or \"Optimization\" based on undefined behaviour hurts performance. In Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS 2015)."},{"key":"e_1_3_2_1_14_1","volume-title":"30th European Conference on Object-Oriented Programming, ECOOP 2016","author":"Eyolfson Jon","year":"2016","unstructured":"Jon Eyolfson and Patrick Lam . 2016 . C++ const and Immutability: An Empirical Study of Writes-Through-const . In 30th European Conference on Object-Oriented Programming, ECOOP 2016 , July 18-22, 2016, Rome, Italy. 8:1--8:25. Jon Eyolfson and Patrick Lam. 2016. C++ const and Immutability: An Empirical Study of Writes-Through-const. In 30th European Conference on Object-Oriented Programming, ECOOP 2016, July 18-22, 2016, Rome, Italy. 8:1--8:25."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2786558.2786565"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2737924.2737979"},{"key":"e_1_3_2_1_18_1","volume-title":"Proceedings of the General Track of the Annual Conference on USENIX Annual Technical Conference (ATEC '02)","author":"Jim Trevor","year":"2002","unstructured":"Trevor Jim , J. Greg Morrisett , Dan Grossman , Michael W. Hicks , James Cheney , and Yanling Wang . 2002 . Cyclone: A Safe Dialect of C . In Proceedings of the General Track of the Annual Conference on USENIX Annual Technical Conference (ATEC '02) . USENIX Association, Berkeley, CA, USA, 275--288. http:\/\/dl.acm.org\/citation.cfm?id=647057.713871 Trevor Jim, J. Greg Morrisett, Dan Grossman, Michael W. Hicks, James Cheney, and Yanling Wang. 2002. Cyclone: A Safe Dialect of C. In Proceedings of the General Track of the Annual Conference on USENIX Annual Technical Conference (ATEC '02). USENIX Association, Berkeley, CA, USA, 275--288. http:\/\/dl.acm.org\/citation.cfm?id=647057.713871"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2737924.2738005"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2983990.2983998"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2535838.2535878"},{"key":"e_1_3_2_1_22_1","unstructured":"Chris Lattner. 2011. What Every C Programmer Should Know About Undefined Behavior. (2011). http:\/\/blog.llvm.org\/2011\/05\/what-every-c-programmer-should-know.html (Accessed August 2017).  Chris Lattner. 2011. What Every C Programmer Should Know About Undefined Behavior. (2011). http:\/\/blog.llvm.org\/2011\/05\/what-every-c-programmer-should-know.html (Accessed August 2017)."},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/977395.977673"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10817-009-9155-4"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.5555\/794203.795305"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2908080.2908081"},{"key":"e_1_3_2_1_27_1","volume-title":"SafeInit: Comprehensive and Practical Mitigation of Uninitialized Read Vulnerabilities. (Feb","author":"Milburn Alyssa","year":"2017","unstructured":"Alyssa Milburn , Herbert Bos , and Cristiano Giuffrida . 2017. SafeInit: Comprehensive and Practical Mitigation of Uninitialized Read Vulnerabilities. (Feb . 2017 ). https:\/\/www.vusec.net\/download\/?t=papers\/safeinit_ndss17.pdf Alyssa Milburn, Herbert Bos, and Cristiano Giuffrida. 2017. SafeInit: Comprehensive and Practical Mitigation of Uninitialized Read Vulnerabilities. (Feb. 2017). https:\/\/www.vusec.net\/download\/?t=papers\/safeinit_ndss17.pdf"},{"volume-title":"https:\/\/www.musl-libc.org\/ (Accessed","year":"2017","key":"e_1_3_2_1_28_1","unstructured":"musl libc. 2017. ( 2017 ). https:\/\/www.musl-libc.org\/ (Accessed August 2017). musl libc. 2017. (2017). https:\/\/www.musl-libc.org\/ (Accessed August 2017)."},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1837855.1806657"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065887.1065892"},{"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":"publisher","DOI":"10.1145\/170036.170081"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542431.1542438"},{"key":"e_1_3_2_1_34_1","volume-title":"A Guide to Undefined Behavior in C and C++. (2010). https:\/\/blog.regehr.org\/archives\/213 (Accessed","author":"Regehr John","year":"2017","unstructured":"John Regehr . 2010. A Guide to Undefined Behavior in C and C++. (2010). https:\/\/blog.regehr.org\/archives\/213 (Accessed August 2017 ). John Regehr. 2010. A Guide to Undefined Behavior in C and C++. (2010). https:\/\/blog.regehr.org\/archives\/213 (Accessed August 2017)."},{"key":"e_1_3_2_1_35_1","volume-title":"The Problem with Friendly C. (2015). https:\/\/blog.regehr.org\/archives\/1287 (Accessed","author":"Regehr John","year":"2017","unstructured":"John Regehr . 2015. The Problem with Friendly C. (2015). https:\/\/blog.regehr.org\/archives\/1287 (Accessed August 2017 ). John Regehr. 2015. The Problem with Friendly C. (2015). https:\/\/blog.regehr.org\/archives\/1287 (Accessed August 2017)."},{"key":"e_1_3_2_1_36_1","volume-title":"Fix for fasta-redux C gcc #2 program. (2016). https:\/\/alioth.debian.org\/tracker\/?func=detail&atid=413122&aid=315503&group_id=100815 (Accessed","author":"Rigger Manuel","year":"2017","unstructured":"Manuel Rigger . 2016. Fix for fasta-redux C gcc #2 program. (2016). https:\/\/alioth.debian.org\/tracker\/?func=detail&atid=413122&aid=315503&group_id=100815 (Accessed August 2017 ). Manuel Rigger. 2016. Fix for fasta-redux C gcc #2 program. (2016). https:\/\/alioth.debian.org\/tracker\/?func=detail&atid=413122&aid=315503&group_id=100815 (Accessed August 2017)."},{"key":"e_1_3_2_1_37_1","volume-title":"Sulong: Memory Safe and Efficient Execution of LLVM-Based Languages. In ECOOP 2016 Doctoral Symposium. http:\/\/ssw.jku.at\/General\/Staff\/ManuelRigger\/ECOOP16-DS.pdf","author":"Rigger Manuel","year":"2016","unstructured":"Manuel Rigger . 2016 . Sulong: Memory Safe and Efficient Execution of LLVM-Based Languages. In ECOOP 2016 Doctoral Symposium. http:\/\/ssw.jku.at\/General\/Staff\/ManuelRigger\/ECOOP16-DS.pdf Manuel Rigger. 2016. Sulong: Memory Safe and Efficient Execution of LLVM-Based Languages. In ECOOP 2016 Doctoral Symposium. http:\/\/ssw.jku.at\/General\/Staff\/ManuelRigger\/ECOOP16-DS.pdf"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2998415.2998416"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1176617.1176753"},{"key":"e_1_3_2_1_40_1","volume-title":"Proceedings of the 6th Conference on Symposium on Operating Systems Design & Implementation -","volume":"6","author":"Rinard Martin","unstructured":"Martin Rinard , Cristian Cadar , Daniel Dumitran , Daniel M. Roy , Tudor Leu , and William S . Beebee, Jr. 2004. Enhancing Server Availability and Security Through Failure-oblivious Computing . In Proceedings of the 6th Conference on Symposium on Operating Systems Design & Implementation - Volume 6 (OSDI'04). USENIX Association, Berkeley, CA, USA, 21--21. http:\/\/dl.acm.org\/citation.cfm?id=1251254.1251275 Martin Rinard, Cristian Cadar, Daniel Dumitran, Daniel M. Roy, Tudor Leu, and William S. Beebee, Jr. 2004. Enhancing Server Availability and Security Through Failure-oblivious Computing. In Proceedings of the 6th Conference on Symposium on Operating Systems Design & Implementation - Volume 6 (OSDI'04). USENIX Association, Berkeley, CA, USA, 21--21. http:\/\/dl.acm.org\/citation.cfm?id=1251254.1251275"},{"key":"e_1_3_2_1_41_1","volume-title":"https:\/\/wiki.openjdk.java.net\/pages\/diffpages.action?pageId=11829259&originalId=26312779 (Accessed","author":"Rose John","year":"2012","unstructured":"John Rose . 2012. CompressedOops. ( 2012 ). https:\/\/wiki.openjdk.java.net\/pages\/diffpages.action?pageId=11829259&originalId=26312779 (Accessed August 2017). John Rose. 2012. CompressedOops. (2012). https:\/\/wiki.openjdk.java.net\/pages\/diffpages.action?pageId=11829259&originalId=26312779 (Accessed August 2017)."},{"key":"e_1_3_2_1_42_1","volume-title":"The CERT C Secure Coding Standard","author":"Seacord Robert C.","unstructured":"Robert C. Seacord . 2008. The CERT C Secure Coding Standard ( 1 st ed.). Addison-Wesley Professional . Robert C. Seacord. 2008. The CERT C Secure Coding Standard (1st ed.). Addison-Wesley Professional.","edition":"1"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/3028687.3041020"},{"volume-title":"Presented as part of the 2012 USENIX Annual Technical Conference (USENIX ATC 12)","author":"Serebryany Konstantin","key":"e_1_3_2_1_44_1","unstructured":"Konstantin Serebryany , Derek Bruening , Alexander Potapenko , and Dmitriy Vyukov . 2012. AddressSanitizer: A Fast Address Sanity Checker . In Presented as part of the 2012 USENIX Annual Technical Conference (USENIX ATC 12) . USENIX , Boston, MA , 309--318. https:\/\/www.usenix.org\/conference\/atc12\/technical-sessions\/presentation\/serebryany Konstantin Serebryany, Derek Bruening, Alexander Potapenko, and Dmitriy Vyukov. 2012. AddressSanitizer: A Fast Address Sanity Checker. In Presented as part of the 2012 USENIX Annual Technical Conference (USENIX ATC 12). USENIX, Boston, MA, 309--318. https:\/\/www.usenix.org\/conference\/atc12\/technical-sessions\/presentation\/serebryany"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-6423(97)00030-0"},{"volume-title":"2015IEEE\/ACMInternational Symposium on Code Generation and Optimization (CGO). 46--55","author":"Stepanov E.","key":"e_1_3_2_1_46_1","unstructured":"E. Stepanov and K. Serebryany . 2015. MemorySanitizer: Fast detector of uninitialized memory use in C . In 2015IEEE\/ACMInternational Symposium on Code Generation and Optimization (CGO). 46--55 . E. Stepanov and K. Serebryany. 2015. MemorySanitizer: Fast detector of uninitialized memory use in C. In 2015IEEE\/ACMInternational Symposium on Code Generation and Optimization (CGO). 46--55."},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884879"},{"key":"e_1_3_2_1_48_1","unstructured":"What's the difference between memcpy and memmove? 2017. (2017). http:\/\/c-faq.com\/ansi\/memmove.html (Accessed August 2017).  What's the difference between memcpy and memmove? 2017. (2017). http:\/\/c-faq.com\/ansi\/memmove.html (Accessed August 2017)."},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/3064176.3064211"},{"key":"e_1_3_2_1_50_1","unstructured":"Tielei Wang Tao Wei Zhiqiang Lin and Wei Zou. 2009. IntScope: Automatically Detecting Integer Overflow Vulnerability in X86 Binary Using Symbolic Execution. In NDSS.  Tielei Wang Tao Wei Zhiqiang Lin and Wei Zou. 2009. IntScope: Automatically Detecting Integer Overflow Vulnerability in X86 Binary Using Symbolic Execution. In NDSS."},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/2349896.2349905"},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522728"},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384716.2384723"},{"key":"e_1_3_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.5555\/2665671.2665740"},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/2647508.2647517"},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/2976749.2978403"},{"key":"e_1_3_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509578.2509581"},{"key":"e_1_3_2_1_58_1","doi-asserted-by":"crossref","unstructured":"Yves Younan. 2015. FreeSentry: protecting against use-after-free vulnerabilities due to dangling pointers. In NDSS.  Yves Younan. 2015. FreeSentry: protecting against use-after-free vulnerabilities due to dangling pointers. In NDSS.","DOI":"10.14722\/ndss.2015.23190"}],"event":{"name":"ManLang 2017: 14th International Conference on Managed Languages and Runtimes","sponsor":["Charles University Charles University","SIGAPP ACM Special Interest Group on Applied Computing","SIGPLAN ACM Special Interest Group on Programming Languages"],"location":"Prague Czech Republic","acronym":"ManLang 2017"},"container-title":["Proceedings of the 14th International Conference on Managed Languages and Runtimes"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3132190.3132204","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3132190.3132204","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:13:56Z","timestamp":1750212836000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3132190.3132204"}},"subtitle":["or: How I Learned to Stop Worrying and Run the Code"],"short-title":[],"issued":{"date-parts":[[2017,9,27]]},"references-count":57,"alternative-id":["10.1145\/3132190.3132204","10.1145\/3132190"],"URL":"https:\/\/doi.org\/10.1145\/3132190.3132204","relation":{},"subject":[],"published":{"date-parts":[[2017,9,27]]},"assertion":[{"value":"2017-09-27","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}