{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,1]],"date-time":"2026-04-01T14:38:11Z","timestamp":1775054291656,"version":"3.50.1"},"reference-count":63,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2015,3,11]],"date-time":"2015-03-11T00:00:00Z","timestamp":1426032000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000185","name":"Defense Advanced Research Projects Agency","doi-asserted-by":"publisher","award":["N66001-10-2-4089"],"award-info":[{"award-number":["N66001-10-2-4089"]}],"id":[{"id":"10.13039\/100000185","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CNS-1053143"],"award-info":[{"award-number":["CNS-1053143"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Syst."],"published-print":{"date-parts":[[2015,3,11]]},"abstract":"<jats:p>\n            This article studies undefined behavior arising in systems programming languages such as C\/C++. Undefined behavior bugs lead to unpredictable and subtle systems behavior, and their effects can be further amplified by compiler optimizations. Undefined behavior bugs are present in many systems, including the Linux kernel and the Postgres database. The consequences range from incorrect functionality to missing security checks. This article proposes a formal and practical approach that finds undefined behavior bugs by finding \u201cunstable code\u201d in terms of optimizations that leverage undefined behavior. Using this approach, we introduce a new static checker called S\n            <jats:sc>tack<\/jats:sc>\n            that precisely identifies undefined behavior bugs. Applying S\n            <jats:sc>tack<\/jats:sc>\n            to widely used systems has uncovered 161 new bugs that have been confirmed and fixed by developers.\n          <\/jats:p>","DOI":"10.1145\/2699678","type":"journal-article","created":{"date-parts":[[2015,3,12]],"date-time":"2015-03-12T12:18:05Z","timestamp":1426162685000},"page":"1-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":11,"title":["A Differential Approach to Undefined Behavior Detection"],"prefix":"10.1145","volume":"33","author":[{"given":"Xi","family":"Wang","sequence":"first","affiliation":[{"name":"Massachusetts Institute of Technology, Cambridge, MA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nickolai","family":"Zeldovich","sequence":"additional","affiliation":[{"name":"Massachusetts Institute of Technology, Cambridge, MA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"M. Frans","family":"Kaashoek","sequence":"additional","affiliation":[{"name":"Massachusetts Institute of Technology, Cambridge, MA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Armando","family":"Solar-Lezama","sequence":"additional","affiliation":[{"name":"Massachusetts Institute of Technology, Cambridge, MA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2015,3,11]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the 10th Symposium on Operating Systems Design and Implementation (OSDI\u201912)","author":"Belay Adam","year":"2012","unstructured":"Adam Belay , Andrea Bittau , Ali Mashtizadeh , David Terei , David Mazi\u00e8res , and Christos Kozyrakis . 2012 . Dune: Safe user-level access to privileged CPU features . In Proceedings of the 10th Symposium on Operating Systems Design and Implementation (OSDI\u201912) . 335--348. Adam Belay, Andrea Bittau, Ali Mashtizadeh, David Terei, David Mazi\u00e8res, and Christos Kozyrakis. 2012. Dune: Safe user-level access to privileged CPU features. In Proceedings of the 10th Symposium on Operating Systems Design and Implementation (OSDI\u201912). 335--348."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1646353.1646374"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462188"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065042"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-00768-2_16"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 8th Symposium on Operating Systems Design and Implementation (OSDI\u201908)","author":"Cadar Cristian","year":"2008","unstructured":"Cristian Cadar , Daniel Dunbar , and Dawson Engler . 2008 . KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs . In Proceedings of the 8th Symposium on Operating Systems Design and Implementation (OSDI\u201908) . Cristian Cadar, Daniel Dunbar, and Dawson Engler. 2008. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs. In Proceedings of the 8th Symposium on Operating Systems Design and Implementation (OSDI\u201908)."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2009.22"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103799.2103805"},{"key":"e_1_2_1_9_1","unstructured":"Chromium 2013. Issue 12079010: Avoid Undefined Behavior When Checking for Pointer Wraparound. Retrieved from https:\/\/codereview.chromium.org\/12079010\/.  Chromium 2013. Issue 12079010: Avoid Undefined Behavior When Checking for Pointer Wraparound. Retrieved from https:\/\/codereview.chromium.org\/12079010\/."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.5555\/2016945.2016964"},{"key":"e_1_2_1_11_1","unstructured":"Clang. 2014. Clang Compiler User\u2019s Manual: Controlling Code Generation. Retrieved from http:\/\/clang.llvm.org\/docs\/UsersManual.html#controlling-code-generation.  Clang. 2014. Clang Compiler User\u2019s Manual: Controlling Code Generation. Retrieved from http:\/\/clang.llvm.org\/docs\/UsersManual.html#controlling-code-generation."},{"key":"e_1_2_1_12_1","volume-title":"Fun with NULL Pointers, Part 1. (July","author":"Corbet Jonathan","year":"2009","unstructured":"Jonathan Corbet . 2009. Fun with NULL Pointers, Part 1. (July 2009 ). http:\/\/lwn.net\/Articles\/342330\/. Jonathan Corbet. 2009. Fun with NULL Pointers, Part 1. (July 2009). http:\/\/lwn.net\/Articles\/342330\/."},{"key":"e_1_2_1_13_1","volume-title":"Re: plan9port build failure on Linux (debian). (March","author":"Cox Russ","year":"2008","unstructured":"Russ Cox . 2008. Re: plan9port build failure on Linux (debian). (March 2008 ). http:\/\/9fans.net\/archive\/2008\/03\/89. Russ Cox. 2008. Re: plan9port build failure on Linux (debian). (March 2008). http:\/\/9fans.net\/archive\/2008\/03\/89."},{"key":"e_1_2_1_14_1","unstructured":"Pascal Cuoq Matthew Flatt and John Regehr. 2014. Proposal for a Friendly Dialect of C. Retrieved from http:\/\/blog.regehr.org\/archives\/1180.  Pascal Cuoq Matthew Flatt and John Regehr. 2014. Proposal for a Friendly Dialect of C. Retrieved from http:\/\/blog.regehr.org\/archives\/1180."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.5555\/2337223.2337313"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250784"},{"key":"e_1_2_1_17_1","volume-title":"Seacord","author":"Dougherty Chad R.","year":"2008","unstructured":"Chad R. Dougherty and Robert C . Seacord . 2008 . C compilers may silently discard some wraparound checks. Vulnerability Note VU#162289. US-CERT. Retrieved from http:\/\/www.kb.cert.org\/vuls\/id\/162289, original version http:\/\/www.isspcs.org\/render.html&quest;it=9100. Chad R. Dougherty and Robert C. Seacord. 2008. C compilers may silently discard some wraparound checks. Vulnerability Note VU#162289. US-CERT. Retrieved from http:\/\/www.kb.cert.org\/vuls\/id\/162289, original version http:\/\/www.isspcs.org\/render.html&quest;it=9100."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103656.2103719"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/502034.502041"},{"key":"e_1_2_1_21_1","unstructured":"GCC. 2006. Bug 27180\u2014Pointer Arithmetic Overflow Handling Broken. Retrieved from http:\/\/gcc.gnu.org\/bugzilla\/show_bug.cgi&quest;id=27180.  GCC. 2006. Bug 27180\u2014Pointer Arithmetic Overflow Handling Broken. Retrieved from http:\/\/gcc.gnu.org\/bugzilla\/show_bug.cgi&quest;id=27180."},{"key":"e_1_2_1_22_1","unstructured":"GCC. 2007. Bug 30475\u2014assert(int&plus;100 &gt; int) Optimized Away. Retrieved from http:\/\/gcc.gnu.org\/bugzilla\/show_bug.cgi&quest;id=30475.  GCC. 2007. Bug 30475\u2014assert(int&plus;100 &gt; int) Optimized Away. Retrieved from http:\/\/gcc.gnu.org\/bugzilla\/show_bug.cgi&quest;id=30475."},{"key":"e_1_2_1_23_1","unstructured":"GCC 2011. Bug 49820\u2014Explicit Check for Integer Negative after abs Optimized Away. Retrieved from http:\/\/gcc.gnu.org\/bugzilla\/show_bug.cgi&quest;id=49820.  GCC 2011. Bug 49820\u2014Explicit Check for Integer Negative after abs Optimized Away. Retrieved from http:\/\/gcc.gnu.org\/bugzilla\/show_bug.cgi&quest;id=49820."},{"key":"e_1_2_1_24_1","unstructured":"GCC. 2013. Bug 53265\u2014Warn When Undefined Behavior Implies Smaller Iteration Count. Retrieved from http:\/\/gcc.gnu.org\/bugzilla\/show_bug.cgi&quest;id=53265.  GCC. 2013. Bug 53265\u2014Warn When Undefined Behavior Implies Smaller Iteration Count. Retrieved from http:\/\/gcc.gnu.org\/bugzilla\/show_bug.cgi&quest;id=53265."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-05089-3_22"},{"key":"e_1_2_1_26_1","unstructured":"IBM. 2009. Optimizing C Code at Optimization Level 2. White paper.  IBM. 2009. Optimizing C Code at Optimization Level 2. White paper."},{"key":"e_1_2_1_27_1","unstructured":"IBM. 2010. Power ISA Version 2.06 Revision B Book I: Power ISA User Instruction Set Architecture.  IBM. 2010. Power ISA Version 2.06 Revision B Book I: Power ISA User Instruction Set Architecture."},{"key":"e_1_2_1_28_1","unstructured":"Intel. 2010. Intel Itanium Architecture Software Developer\u2019s Manual Volume 1: Application Architecture.  Intel. 2010. Intel Itanium Architecture Software Developer\u2019s Manual Volume 1: Application Architecture."},{"key":"e_1_2_1_29_1","unstructured":"Intel. 2013. Intel 64 and IA-32 Architectures Software Developer\u2019s Manual Volume 2: Instruction Set Reference A--Z.  Intel. 2013. Intel 64 and IA-32 Architectures Software Developer\u2019s Manual Volume 2: Instruction Set Reference A--Z."},{"key":"e_1_2_1_30_1","unstructured":"Intel. 2014. Intel 64 and IA-32 Architectures Software Developer\u2019s Manual.  Intel. 2014. Intel 64 and IA-32 Architectures Software Developer\u2019s Manual."},{"key":"e_1_2_1_31_1","unstructured":"ISO\/IEC. 2003. Rationale for International Standard - Programming Languages - C.  ISO\/IEC. 2003. Rationale for International Standard - Programming Languages - C."},{"key":"e_1_2_1_32_1","unstructured":"ISO\/IEC. 2011. ISO\/IEC 9899:2011 Programming languages - C.  ISO\/IEC. 2011. ISO\/IEC 9899:2011 Programming languages - C."},{"key":"e_1_2_1_33_1","unstructured":"Barnaby Jack. 2007. Vector Rewrite Attack: Exploitable NULL Pointer Vulnerabilities on ARM and XScale Architectures. White paper. Juniper Networks.  Barnaby Jack. 2007. Vector Rewrite Attack: Exploitable NULL Pointer Vulnerabilities on ARM and XScale Architectures. White paper. Juniper Networks."},{"key":"e_1_2_1_34_1","unstructured":"Robbert Krebbers and Freek Wiedijk. 2012. Subtleties of the ANSI\/ISO C Standard. Document N1639. ISO\/IEC.  Robbert Krebbers and Freek Wiedijk. 2012. Subtleties of the ANSI\/ISO C Standard. Document N1639. ISO\/IEC."},{"key":"e_1_2_1_35_1","volume-title":"Anyone for Adding -fwrapv to Our Standard CFLAGS&quest","author":"Lane Tom","unstructured":"Tom Lane . 2005. Anyone for Adding -fwrapv to Our Standard CFLAGS&quest ; Retrieved from http:\/\/www.postgresql.org\/message-id\/1689.1134422394@sss.pgh.pa.us. Tom Lane. 2005. Anyone for Adding -fwrapv to Our Standard CFLAGS&quest; Retrieved from http:\/\/www.postgresql.org\/message-id\/1689.1134422394@sss.pgh.pa.us."},{"key":"e_1_2_1_36_1","unstructured":"Tom Lane. 2009. Re: gcc versus Division-by-Zero Traps. Retrieved from http:\/\/www.postgresql.org\/message-id\/19979.1251998812@sss.pgh.pa.us.  Tom Lane. 2009. Re: gcc versus Division-by-Zero Traps. Retrieved from http:\/\/www.postgresql.org\/message-id\/19979.1251998812@sss.pgh.pa.us."},{"key":"e_1_2_1_37_1","unstructured":"Chris Lattner. 2011. What Every C Programmer Should Know About Undefined Behavior. Retrieved from http:\/\/blog.llvm.org\/2011\/05\/what-every-c-programmer-should-know.html.  Chris Lattner. 2011. What Every C Programmer Should Know About Undefined Behavior. Retrieved from http:\/\/blog.llvm.org\/2011\/05\/what-every-c-programmer-should-know.html."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.5555\/977395.977673"},{"key":"e_1_2_1_39_1","unstructured":"Linux Kernel. 2009. Bug 14287\u2014ext4: Fixpoint Divide Exception at ext4_fill_super. Retrieved from https:\/\/bugzilla.kernel.org\/show_bug.cgi&quest;id=14287.  Linux Kernel. 2009. Bug 14287\u2014ext4: Fixpoint Divide Exception at ext4_fill_super. Retrieved from https:\/\/bugzilla.kernel.org\/show_bug.cgi&quest;id=14287."},{"key":"e_1_2_1_40_1","volume-title":"A Commentary on the","author":"Lions John","unstructured":"John Lions . 1977. A Commentary on the Sixth Edition UNIX Operating System . John Lions. 1977. A Commentary on the Sixth Edition UNIX Operating System."},{"key":"e_1_2_1_41_1","first-page":"69","article-title":"Autoconf","volume":"2","author":"MacKenzie David","year":"2012","unstructured":"David MacKenzie , Ben Elliston , and Akim Demaille . 2012 . Autoconf : Creating Automatic Configuration Scripts for Version 2 . 69 . Free Software Foundation. David MacKenzie, Ben Elliston, and Akim Demaille. 2012. Autoconf: Creating Automatic Configuration Scripts for Version 2.69. Free Software Foundation.","journal-title":"Creating Automatic Configuration Scripts for Version"},{"key":"e_1_2_1_42_1","unstructured":"William M. Miller. 2012. C&plus;&plus; Standard Core Language Defect Reports and Accepted Issues Issue 1457: Undefined Behavior in Left-Shift. Retrieved from http:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/cwg_defects.html#1457.  William M. Miller. 2012. C&plus;&plus; Standard Core Language Defect Reports and Accepted Issues Issue 1457: Undefined Behavior in Left-Shift. Retrieved from http:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/cwg_defects.html#1457."},{"key":"e_1_2_1_43_1","volume-title":"Re: Fix for Win32 Division Involving INT_MIN.","author":"Momjian Bruce","year":"2006","unstructured":"Bruce Momjian . 2006 . Re: Fix for Win32 Division Involving INT_MIN. Retrieved from http:\/\/www.postgresql.org\/message-id\/200606090240.k592eUj23952@candle.pha.pa.us. Bruce Momjian. 2006. Re: Fix for Win32 Division Involving INT_MIN. Retrieved from http:\/\/www.postgresql.org\/message-id\/200606090240.k592eUj23952@candle.pha.pa.us."},{"key":"e_1_2_1_44_1","unstructured":"Steven S. Muchnick. 1997. Advanced Compiler Design and Implementation. Morgan Kaufmann.   Steven S. Muchnick. 1997. Advanced Compiler Design and Implementation. Morgan Kaufmann."},{"key":"e_1_2_1_45_1","volume-title":"Proceedings of the 2005 GCC & GNU Toolchain Developers&rsquo;\u2019 Summit. 175--184","author":"Novillo Diego","year":"2005","unstructured":"Diego Novillo . 2005 . A propagation engine for GCC . In Proceedings of the 2005 GCC & GNU Toolchain Developers&rsquo;\u2019 Summit. 175--184 . Diego Novillo. 2005. A propagation engine for GCC. In Proceedings of the 2005 GCC & GNU Toolchain Developers&rsquo;\u2019 Summit. 175--184."},{"key":"e_1_2_1_46_1","unstructured":"Python. 2013. Issue 17016:_sre: Avoid Relying on Pointer Overflow. Retrieved from http:\/\/bugs.python.org\/issue17016.  Python. 2013. Issue 17016:_sre: Avoid Relying on Pointer Overflow. Retrieved from http:\/\/bugs.python.org\/issue17016."},{"key":"e_1_2_1_47_1","unstructured":"Silvio Ranise Cesare Tinelli and Clark Barrett. 2013. QF_BV logic. Retrieved from http:\/\/smtlib.cs.uiowa.edu\/logics\/QF_BV.smt2.  Silvio Ranise Cesare Tinelli and Clark Barrett. 2013. QF_BV logic. Retrieved from http:\/\/smtlib.cs.uiowa.edu\/logics\/QF_BV.smt2."},{"key":"e_1_2_1_48_1","unstructured":"John Regehr. 2010. A Guide to Undefined Behavior in C and C&plus;&plus;. Retrieved from http:\/\/blog.regehr.org\/archives\/213.  John Regehr. 2010. A Guide to Undefined Behavior in C and C&plus;&plus;. Retrieved from http:\/\/blog.regehr.org\/archives\/213."},{"key":"e_1_2_1_49_1","volume-title":"Undefined behavior consequences contest winners. (July","author":"Regehr John","year":"2012","unstructured":"John Regehr . 2012. Undefined behavior consequences contest winners. (July 2012 ). http:\/\/blog.regehr.org\/archives\/767. John Regehr. 2012. Undefined behavior consequences contest winners. (July 2012). http:\/\/blog.regehr.org\/archives\/767."},{"key":"e_1_2_1_50_1","unstructured":"Robert C. Seacord. 2010. Dangerous Optimizations and the Loss of Causality. Retrieved from https:\/\/www.securecoding.cert.org\/confluence\/download\/attachments\/40402999\/Dangerous&plus;Optimizations.pdf.  Robert C. Seacord. 2010. Dangerous Optimizations and the Loss of Causality. Retrieved from https:\/\/www.securecoding.cert.org\/confluence\/download\/attachments\/40402999\/Dangerous&plus;Optimizations.pdf."},{"key":"e_1_2_1_51_1","volume-title":"Stallman and the GCC Developer Community","author":"Richard","year":"2013","unstructured":"Richard M. Stallman and the GCC Developer Community . 2013 . Using the GNU Compiler Collection for GCC 4.8.0. Free Software Foundation . Richard M. Stallman and the GCC Developer Community. 2013. Using the GNU Compiler Collection for GCC 4.8.0. Free Software Foundation."},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349317"},{"key":"e_1_2_1_53_1","unstructured":"Eugene Teo. 2009. {PATCH} Add -fno-delete-null-pointer-checks to gcc CFLAGS. Retrieved from https:\/\/lists.ubuntu.com\/archives\/kernel-team\/2009-July\/006609.html.  Eugene Teo. 2009. {PATCH} Add -fno-delete-null-pointer-checks to gcc CFLAGS. Retrieved from https:\/\/lists.ubuntu.com\/archives\/kernel-team\/2009-July\/006609.html."},{"key":"e_1_2_1_54_1","unstructured":"Julien Tinnes. 2009. Bypassing Linux NULL Pointer Dereference Exploit Prevention (mmap_min_addr). Retrieved from http:\/\/blog.cr0.org\/2009\/06\/bypassing-linux-null-pointer.html.  Julien Tinnes. 2009. Bypassing Linux NULL Pointer Dereference Exploit Prevention (mmap_min_addr). Retrieved from http:\/\/blog.cr0.org\/2009\/06\/bypassing-linux-null-pointer.html."},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/2338965.2336788"},{"key":"e_1_2_1_56_1","unstructured":"Linus Torvalds. 2007. Re: {patch} CFS Scheduler -v8. Retrieved from https:\/\/lkml.org\/lkml\/2007\/5\/7\/213.  Linus Torvalds. 2007. Re: {patch} CFS Scheduler -v8. Retrieved from https:\/\/lkml.org\/lkml\/2007\/5\/7\/213."},{"key":"e_1_2_1_57_1","unstructured":"Jean Tourrilhes. 2003. Invalid Compilation without -fno-strict-aliasing. Retrieved from https:\/\/lkml.org\/lkml\/2003\/2\/25\/270.  Jean Tourrilhes. 2003. Invalid Compilation without -fno-strict-aliasing. Retrieved from https:\/\/lkml.org\/lkml\/2003\/2\/25\/270."},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/224538.224648"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/2349896.2349905"},{"key":"e_1_2_1_60_1","volume-title":"Proceedings of the 10th Symposium on Operating Systems Design and Implementation (OSDI\u201912)","author":"Wang Xi","unstructured":"Xi Wang , Haogang Chen , Zhihao Jia , Nickolai Zeldovich , and M. Frans Kaashoek . 2012b. Improving integer security for systems with Kint . In Proceedings of the 10th Symposium on Operating Systems Design and Implementation (OSDI\u201912) . 163--177. Xi Wang, Haogang Chen, Zhihao Jia, Nickolai Zeldovich, and M. Frans Kaashoek. 2012b. Improving integer security for systems with Kint. In Proceedings of the 10th Symposium on Operating Systems Design and Implementation (OSDI\u201912). 163--177."},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522728"},{"key":"e_1_2_1_62_1","volume-title":"Proceedings of the 2012 USENIX Annual Technical Conference. 177--182","author":"Winstein Keith","year":"2012","unstructured":"Keith Winstein and Hari Balakrishnan . 2012 . Mosh: An interactive remote shell for mobile clients . In Proceedings of the 2012 USENIX Annual Technical Conference. 177--182 . Keith Winstein and Hari Balakrishnan. 2012. Mosh: An interactive remote shell for mobile clients. In Proceedings of the 2012 USENIX Annual Technical Conference. 177--182."},{"key":"e_1_2_1_63_1","volume-title":"Re: Why is This Legal&quest","author":"Woods John F.","year":"1992","unstructured":"John F. Woods . 1992 . Re: Why is This Legal&quest ; Retrieved from http:\/\/groups.google.com\/group\/comp.std.c\/msg\/dfe1ef367547684b. John F. Woods. 1992. Re: Why is This Legal&quest; Retrieved from http:\/\/groups.google.com\/group\/comp.std.c\/msg\/dfe1ef367547684b."},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.5555\/1298455.1298481"}],"container-title":["ACM Transactions on Computer Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2699678","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2699678","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T06:16:59Z","timestamp":1750227419000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2699678"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,3,11]]},"references-count":63,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2015,3,11]]}},"alternative-id":["10.1145\/2699678"],"URL":"https:\/\/doi.org\/10.1145\/2699678","relation":{},"ISSN":["0734-2071","1557-7333"],"issn-type":[{"value":"0734-2071","type":"print"},{"value":"1557-7333","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015,3,11]]},"assertion":[{"value":"2014-09-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-10-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-03-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}