{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:58Z","timestamp":1772164078441,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":49,"publisher":"ACM","license":[{"start":{"date-parts":[[2017,3,25]],"date-time":"2017-03-25T00:00:00Z","timestamp":1490400000000},"content-version":"vor","delay-in-days":365,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000185","name":"Defense Advanced Research Projects Agency","doi-asserted-by":"publisher","award":["1190029-276707"],"award-info":[{"award-number":["1190029-276707"]}],"id":[{"id":"10.13039\/100000185","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2016,3,25]]},"DOI":"10.1145\/2872362.2872364","type":"proceedings-article","created":{"date-parts":[[2016,3,28]],"date-time":"2016-03-28T09:24:30Z","timestamp":1459157070000},"page":"143-157","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":20,"title":["How to Build Static Checking Systems Using Orders of Magnitude Less Code"],"prefix":"10.1145","author":[{"given":"Fraser","family":"Brown","sequence":"first","affiliation":[{"name":"Stanford University, Stanford , CA, USA"}]},{"given":"Andres","family":"N\u00f6tzli","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, CA, USA"}]},{"given":"Dawson","family":"Engler","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, CA, USA"}]}],"member":"320","published-online":{"date-parts":[[2016,3,25]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"clang: a C language family frontend for LLVM. http:\/\/clang.llvm.org\/."},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.5555\/6448"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-24756-2_1"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1007\/10722468_7"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.5555\/380921.380932"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"crossref","unstructured":"Al Bessey Ken Block Ben Chelf Andy Chou Bryan Fulton Seth Hallem Charles Henri-Gros Asya Kamsky Scott McPeak and Dawson Engler. A few billion lines of code later: Using static analysis to find bugs in the real world. Commun. ACM 53(2) 2010.","DOI":"10.1145\/1646353.1646374"},{"key":"e_1_3_2_1_7_1","volume-title":"Select -- a formal system for testing and debugging programs by symbolic execution. ACM SIGPLAN Notices, 10(6)","author":"Boyer Robert S.","year":"1975","unstructured":"Robert S. Boyer, Bernard Elspas, and Karl N. Levitt. Select -- a formal system for testing and debugging programs by symbolic execution. ACM SIGPLAN Notices, 10(6), 1975."},{"key":"e_1_3_2_1_8_1","volume-title":"Proceedings of Symp. on Operating Systems Design and Implementation","author":"Cadar Cristian","year":"2008","unstructured":"Cristian Cadar, Daniel Dunbar, and Dawson Engler. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs. In Proceedings of Symp. on Operating Systems Design and Implementation, 2008."},{"key":"e_1_3_2_1_9_1","volume-title":"Jumping NLP curves: A review of natural language processing research","author":"Cambria Erik","year":"2014","unstructured":"Erik Cambria and Bebo White. Jumping NLP curves: A review of natural language processing research. In IEEE Computational Intelligence Magazine, 2014."},{"key":"e_1_3_2_1_10_1","volume-title":"Bug 4068 - compiling the linux kernel with clang. https:\/\/llvm.org\/bugs\/show_bug.cgi?id=4068","year":"2009","unstructured":"clang. Bug 4068 - compiling the linux kernel with clang. https:\/\/llvm.org\/bugs\/show_bug.cgi?id=4068, 2009."},{"key":"e_1_3_2_1_11_1","volume-title":"Proceedings of International Symp. on Software Testing and Analysis","author":"Clause James","year":"2007","unstructured":"James Clause, Wanchun Li, and Alessandro Orso. Dytan: a generic dynamic taint analysis framework. In Proceedings of International Symp. on Software Testing and Analysis, 2007."},{"key":"e_1_3_2_1_12_1","volume-title":"Proceedings AFIPS 1972 SJCC, 40","author":"Corbat\u00f3 Fernando J","year":"1972","unstructured":"Fernando J Corbat\u00f3, Jerome H Saltzer, and Chris T Clingen. Multics: the first seven years. Proceedings AFIPS 1972 SJCC, 40, 1972."},{"key":"e_1_3_2_1_13_1","unstructured":"Jonathan Corbet. Fun with null pointers part 1. http:\/\/lwn.net\/Articles\/342330\/ 2009."},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/337180.337234"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2451116.2451152"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512538"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378811"},{"key":"e_1_3_2_1_18_1","volume-title":"International Conference on Runtime Verification","author":"Engler Dawson","year":"2011","unstructured":"Dawson Engler. Making finite verification of raw c code easier than writing a test case. Invited talk, International Conference on Runtime Verification, 2011."},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/1251229.1251230"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/502034.502041"},{"key":"e_1_3_2_1_21_1","volume-title":"Journal of Semantics","author":"Fintel Kai Von","year":"1999","unstructured":"Kai Von Fintel. NPI-licensing, straws-on-entailment, and context-dependency. In Journal of Semantics, 1999."},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512558"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/301618.301665"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065036"},{"key":"e_1_3_2_1_25_1","unstructured":"Edison Design Group. EDG C+ compiler front-end. http:\/\/www.edg.com."},{"key":"e_1_3_2_1_26_1","volume-title":"Jacobs","author":"Grune Dick","year":"2008","unstructured":"Dick Grune and Ceriel J.H. Jacobs. Parsing Techniques: A Practical Guide (2nd ed). 2008."},{"key":"e_1_3_2_1_27_1","volume-title":"Proceedings of the USENIX Winter Technical Conference","author":"Hastings Reed","year":"1992","unstructured":"Reed Hastings and Bob Joyce. Purify: Fast detection of memory leaks and access errors. In Proceedings of the USENIX Winter Technical Conference, 1992."},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-0-387-35578-8_28"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.5555\/1454320"},{"key":"e_1_3_2_1_30_1","volume-title":"A technical introduction to PREfix\/Enterprise. Technical report","year":"1998","unstructured":"Intrinsa. A technical introduction to PREfix\/Enterprise. Technical report, Intrinsa Corporation, 1998."},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/800217.806614"},{"key":"e_1_3_2_1_32_1","volume-title":"Parsec: Direct style monadic parser combinators for the real world","author":"Leijen Daan","year":"2002","unstructured":"Daan Leijen and Erik Meijer. Parsec: Direct style monadic parser combinators for the real world. 2002."},{"key":"e_1_3_2_1_33_1","volume-title":"Technical note 2000-002","author":"Leino K Rustan M","year":"2001","unstructured":"K Rustan M Leino, Greg Nelson, and James B Saxe. ESC\/Java user's manual. Technical note 2000-002, Compaq Systems Research Center, 2001."},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.5555\/647478.727796"},{"key":"e_1_3_2_1_35_1","volume-title":"Proceedings of Symp. on Principles of Programming Languages","author":"Necula George C.","year":"2002","unstructured":"George C. Necula, Scott McPeak, and Westley Weimer. Ccured: type-safe retrofitting of legacy code. In Proceedings of Symp. on Principles of Programming Languages, 2002."},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250746"},{"key":"e_1_3_2_1_37_1","volume-title":"Proceedings of Network and Distributed Systems Security Symp.","author":"Newsome James","year":"2005","unstructured":"James Newsome and Dawn Song. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. In Proceedings of Network and Distributed Systems Security Symp., 2005."},{"key":"e_1_3_2_1_38_1","volume-title":"Reduced instruction set computers. Communications of the ACM, 21(1)","author":"Patterson David A.","year":"1985","unstructured":"David A. Patterson. Reduced instruction set computers. Communications of the ACM, 21(1), 1985."},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993558"},{"key":"e_1_3_2_1_40_1","volume-title":"Proceedings of the","author":"Pike Rob","year":"1990","unstructured":"Rob Pike, Dave Presotto, Ken Thompson, and Howard Trickey. Plan 9 from bell labs. In Proceedings of the Summer 1990 UKUUG Conference, 1990."},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.5555\/1251254.1251275"},{"key":"e_1_3_2_1_42_1","volume-title":"The UNIX time-sharing system. Communications of the ACM, 17(7)","author":"Ritchie D.M.","year":"1974","unstructured":"D.M. Ritchie, K. Thompson, Dennis M Ritchie, and Ken Thompson. The UNIX time-sharing system. Communications of the ACM, 17(7), 1974."},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/357401.357402"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.21236\/ADA482657"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.5555\/882495.884434"},{"key":"e_1_3_2_1_46_1","volume-title":"Network and Distributed System Security Symposium","author":"Wagner David","year":"2000","unstructured":"David Wagner, Jeffrey S. Foster, Eric A. Brewer, and Alexander Aiken. A first step towards automated detection of buffer overrun vulnerabilities. In Network and Distributed System Security Symposium, 2000."},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522728"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/1081706.1081728"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/587051.587060"}],"event":{"name":"ASPLOS '16: Architectural Support for Programming Languages and Operating Systems","location":"Atlanta Georgia USA","acronym":"ASPLOS '16","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGOPS ACM Special Interest Group on Operating Systems","SIGARCH ACM Special Interest Group on Computer Architecture","SIGBED ACM Special Interest Group on Embedded Systems"]},"container-title":["Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2872362.2872364","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2872362.2872364","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2872362.2872364","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T09:41:06Z","timestamp":1763458866000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2872362.2872364"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,3,25]]},"references-count":49,"alternative-id":["10.1145\/2872362.2872364","10.1145\/2872362"],"URL":"https:\/\/doi.org\/10.1145\/2872362.2872364","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2980024.2872364","asserted-by":"object"},{"id-type":"doi","id":"10.1145\/2954679.2872364","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2016,3,25]]},"assertion":[{"value":"2016-03-25","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}