{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:21:28Z","timestamp":1750220488803,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":43,"publisher":"ACM","license":[{"start":{"date-parts":[[2021,10,25]],"date-time":"2021-10-25T00:00:00Z","timestamp":1635120000000},"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":[[2021,10,25]]},"DOI":"10.1145\/3477113.3487274","type":"proceedings-article","created":{"date-parts":[[2021,10,11]],"date-time":"2021-10-11T10:25:01Z","timestamp":1633947901000},"page":"84-90","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["How ISO C became unusable for operating systems development"],"prefix":"10.1145","author":[{"given":"Victor","family":"Yodaiken","sequence":"first","affiliation":[{"name":"E27182, Austin, Texas, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2021,10,25]]},"reference":[{"key":"e_1_3_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2012.6227142"},{"key":"e_1_3_2_2_2_1","volume-title":"What every compiler writer should know about programmers. In 18. Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS'15), Jens Knoop and M","author":"Ertl M. Anton","year":"2015","unstructured":"M. Anton Ertl. 2015. What every compiler writer should know about programmers. In 18. Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS'15), Jens Knoop and M. Anton Ertl (Eds.). 112--133. http:\/\/www.complang.tuwien.ac.at\/kps2015\/proceedings\/KPS_2015_submission_29.pdf"},{"key":"e_1_3_2_2_3_1","unstructured":"M. Anton Ertl. 2017. The Intended Meaning of Undefined Behaviour in C Programs. In 19. Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS'17) Wolfram Amme and Thomas Heinze (Eds.). 20--28. http:\/\/www.complang.tuwien.ac.at\/papers\/ertl17kps.pdf"},{"key":"e_1_3_2_2_4_1","unstructured":"Felix-gcc. 2007. Bug 30475 - assert(int+100 &gt; int) optimized away. https:\/\/gcc.gnu.org\/bugzilla\/show_bug.cgi?id=30475"},{"key":"e_1_3_2_2_5_1","unstructured":"Jens Gustedt Peter Sewell Kayvan Memarian Victor B. F. Gomes and Martin Uecker. 2021. A Provenance-aware Memory Object Model for C. Draft Technical Specification N2577. http:\/\/www.open-std.org\/jtc1\/sc22\/wg14\/www\/docs\/n2577.pdf"},{"key":"e_1_3_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2737924.2737979"},{"key":"e_1_3_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/347324.348916"},{"key":"e_1_3_2_2_8_1","first-page":"2018","article-title":"Programming language: C","volume":"9899","author":"ISO","year":"2018","unstructured":"ISO PL22.11 - SC22\/WG14. 2018. Programming language: C: ISO\/IEC 9899:2018 (C18). Number ISO\/IEC 9899:2018).","journal-title":"ISO\/IEC"},{"key":"e_1_3_2_2_9_1","unstructured":"INCITS J11 and SC22 WG14. 2003. Rationale for International Standard. Programming Languages. C Revision 5.10. http:\/\/www.open-std.org\/jtc1\/sc22\/wg14\/www\/C99RationaleV5.10.pdf"},{"key":"e_1_3_2_2_10_1","unstructured":"Derek Jones. 2017. How indeterminate is an indeterminate value. http:\/\/shape-of-code.coding-guidelines.com\/2017\/06\/18\/how-indeterminate-is-an-indeterminate-value\/"},{"key":"e_1_3_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2813885.2738005"},{"key":"e_1_3_2_2_12_1","unstructured":"Brian W. Kernighan. [n.d.]. Why Pascal is Not My Favorite Programming Language. http:\/\/www.lysator.liu.se\/c\/bwk-on-pascal.html"},{"key":"e_1_3_2_2_13_1","volume-title":"Ritchie","author":"Kernighan Brian W.","year":"1988","unstructured":"Brian W. Kernighan and Dennis M. Ritchie. 1988. The C Programming Language (2nd ed.). Prentice Hall Professional Technical Reference."},{"volume-title":"PLDI '92","author":"Landi W.","key":"e_1_3_2_2_14_1","unstructured":"W. Landi and B. Ryder. 1992. A safe approximate algorithm for inter-procedural aliasing. In PLDI '92."},{"key":"e_1_3_2_2_15_1","unstructured":"Chris Lattner. 2011. What every C programmer should know. http:\/\/blog.llvm.org\/2011\/05\/what-every-c-programmer-should-know.html"},{"key":"e_1_3_2_2_16_1","unstructured":"Chris Lattner. 2011. What Every C Programmer Should Know About Undefined Behavior 2\/3. https:\/\/blog.llvm.org\/2011\/05\/what-every-c-programmer-should-know_14.html"},{"key":"e_1_3_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3140587.3062343"},{"key":"e_1_3_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1538788.1538814"},{"key":"e_1_3_2_2_19_1","unstructured":"Xavier Leroy. 2021. Personal Communication."},{"key":"e_1_3_2_2_21_1","volume-title":"MIR: A lightweight JIT compiler project. https:\/\/developers.redhat.com\/blog\/2020\/01\/20\/mir-a-lightweight-jit-compiler-project","author":"Makarov Vladimir","year":"2020","unstructured":"Vladimir Makarov. 2020. MIR: A lightweight JIT compiler project. https:\/\/developers.redhat.com\/blog\/2020\/01\/20\/mir-a-lightweight-jit-compiler-project"},{"key":"e_1_3_2_2_22_1","unstructured":"Paul E. McKenney Maged Michael Jens Mauer Peter Sewell Martin Uecker Hans Boehm Hubert Tong and Niall Douglas. 2019. Pointer lifetime-end zap. http:\/\/www.open-std.org\/jtc1\/sc22\/wg21\/docs\/papers\/2019\/p1726r0.pdf"},{"key":"e_1_3_2_2_23_1","unstructured":"Joseph Myers. 2014. \"Bug 61502: comparison on \"one-past\" pointer gives wrong result comment 1\". https:\/\/gcc.gnu.org\/bugzilla\/show_bug.cgi?id=61502"},{"key":"e_1_3_2_2_24_1","first-page":"270","article-title":"Alias verification for Fortran code optimization","volume":"9","author":"Nga Nguyen Thi Viet","year":"2003","unstructured":"Thi Viet Nga Nguyen and Fran\u00e7ois Irigoin. 2003. Alias verification for Fortran code optimization. J. UCS 9, 3 (2003), 270.","journal-title":"J. UCS"},{"key":"e_1_3_2_2_25_1","unstructured":"Vegard Nossum. 2016. \"Subject [PATCH] firmware: declare _start end_builtin_fw as pointers\". https:\/\/gcc.gnu.org\/bugzilla\/show_bug.cgi?id=61502"},{"volume-title":"1989 Edition","year":"1989","key":"e_1_3_2_2_26_1","unstructured":"X3J11 Technical Committee on the C Programming Language. 1989. ANSI X3.159, 1989 Edition, 1989 - INFORMATION SYSTEMS - PROGRAMMING LANGUAGE - C."},{"key":"e_1_3_2_2_27_1","unstructured":"Clang Project. 2021. Clang 13 Documentation. https:\/\/clang.llvm.org\/docs\/UsersManual.html"},{"key":"e_1_3_2_2_28_1","unstructured":"GNU Project. 2021. GCC Documentation. https:\/\/gcc.gnu.org\/onlinedocs\/"},{"key":"e_1_3_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/186025.186041"},{"key":"e_1_3_2_2_30_1","unstructured":"John Regehr. 2010. https:\/\/blog.regehr.org\/archives\/213"},{"key":"e_1_3_2_2_31_1","unstructured":"John Regehr. 2016. The Strict Aliasing Situation is Pretty Bad. https:\/\/blog.regehr.org\/archives\/1307"},{"key":"e_1_3_2_2_32_1","volume-title":"noalias comments to X3J11. (March","author":"Ritchie Dennis","year":"1988","unstructured":"Dennis Ritchie. 1988. noalias comments to X3J11. (March 1988). https:\/\/groups.google.com\/g\/comp.lang.c\/c\/K0Cz2s9il3E\/m\/YDyo_xaRG5kJ"},{"key":"e_1_3_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1002\/j.1538-7305.1978.tb02140.x"},{"key":"e_1_3_2_2_34_1","unstructured":"Eskil Steenberg. 2021. \"Compiler Explorer UShort promotion UB\". https:\/\/godbolt.org\/z\/7q9dPzEfM"},{"key":"e_1_3_2_2_35_1","volume-title":"Redefining Undefined Behavior N2769. (21 6","author":"Steenberg Eskil","year":"2021","unstructured":"Eskil Steenberg. 2021. Redefining Undefined Behavior N2769. (21 6 2021). http:\/\/www.open-std.org\/jtc1\/sc22\/wg14\/www\/docs\/n2769.pdf"},{"key":"e_1_3_2_2_36_1","unstructured":"Linus Torvalds. [n.d.]. Reloc-Hide in Linux Kernel. https:\/\/github.com\/torvalds\/linux\/blob\/35e43538af8fd2cb39d58caca1134a87db173f75\/include\/linux\/compiler-gcc.h"},{"key":"e_1_3_2_2_37_1","unstructured":"Linus Torvalds. 2009. Re Gcc inlining heuristics. https:\/\/www.mailarchive.com\/linux- btrfs@vger.kernel.org\/msg01647.html"},{"key":"e_1_3_2_2_38_1","unstructured":"Linus Torvalds. 2018. Re: [GIT PULL] Device properties framework update for v4.18-rc1. https:\/\/lkml.org\/lkml\/2018\/6\/5\/769"},{"key":"e_1_3_2_2_39_1","volume-title":"Re: LKMM litmus test for Roman Penyaev's rcu-rr. https:\/\/lkml.org\/lkml\/2018\/6\/7\/761","author":"Torvalds Linus","year":"2018","unstructured":"Linus Torvalds. 2018. Re: LKMM litmus test for Roman Penyaev's rcu-rr. https:\/\/lkml.org\/lkml\/2018\/6\/7\/761"},{"key":"e_1_3_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2349896.2349905"},{"key":"e_1_3_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2699678"},{"key":"e_1_3_2_2_42_1","volume-title":"Proceedings of the","author":"Wulf William A","year":"1972","unstructured":"William A Wulf. 1972. Systems for systems implementors: some experiences from Bliss. In Proceedings of the December 5-7, 1972, fall joint computer conference, part II. 943--948."},{"key":"e_1_3_2_2_43_1","doi-asserted-by":"crossref","unstructured":"Victor Yodaiken. 2021. Compiler Explorer ISO C Division. https:\/\/godbolt.org\/z\/zWh9c5e84","DOI":"10.1145\/3477113.3487274"},{"key":"e_1_3_2_2_44_1","unstructured":"Victor Yodaiken. 2021. Example of Clang and type based alias. https:\/\/godbolt.org\/z\/nq19n8dhE"}],"event":{"name":"SOSP '21: ACM SIGOPS 28th Symposium on Operating Systems Principles","sponsor":["SIGOPS ACM Special Interest Group on Operating Systems"],"location":"Virtual Event Germany","acronym":"SOSP '21"},"container-title":["Proceedings of the 11th Workshop on Programming Languages and Operating Systems"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3477113.3487274","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3477113.3487274","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:49:15Z","timestamp":1750193355000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3477113.3487274"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,10,25]]},"references-count":43,"alternative-id":["10.1145\/3477113.3487274","10.1145\/3477113"],"URL":"https:\/\/doi.org\/10.1145\/3477113.3487274","relation":{},"subject":[],"published":{"date-parts":[[2021,10,25]]},"assertion":[{"value":"2021-10-25","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}