{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,6]],"date-time":"2025-11-06T12:31:10Z","timestamp":1762432270789,"version":"3.41.0"},"reference-count":19,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA2","license":[{"start":{"date-parts":[[2022,10,31]],"date-time":"2022-10-31T00:00:00Z","timestamp":1667174400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2022,10,31]]},"abstract":"<jats:p>\n            In this paper, we show that the unsoundness discovered by Amin and Tate (2016) in Java\u2019s wildcards is avoidable, even in the absence of a nullness-aware type system.  \nThe key insight of this paper is that soundness in type systems that implicitly introduce existential types through subtyping hinges on still making sure there are suitable witness types when introducing existentially quantified type variables.  \nTo show that this approach is viable, this paper formalizes a core calculus and proves it sound.  \nWe used a static analysis based on our approach to look for potential issues in a vast corpus of Java code and found\n            <jats:italic>none<\/jats:italic>\n            (with 1 false positive).  \nThis confirms both that Java's unsoundness has minimal practical consequence,  \nand that our approach can avoid it entirely with minimal false positives.\n          <\/jats:p>","DOI":"10.1145\/3563301","type":"journal-article","created":{"date-parts":[[2022,10,31]],"date-time":"2022-10-31T20:23:35Z","timestamp":1667247815000},"page":"373-394","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Wildcards need witness protection"],"prefix":"10.1145","volume":"6","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-6563-5360","authenticated-orcid":false,"given":"Kevin","family":"Bierhoff","sequence":"first","affiliation":[{"name":"Google, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2022,10,31]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/2983990.2984004"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-70592-5_2"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-73589-2_12"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1096-9942(199901\/03)5:1<3::AID-TAPO2>3.0.CO;2-T"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/949305.949332"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1297027.1297052"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/268946.268961"},{"key":"e_1_2_1_8_1","unstructured":"James Gosling Bill Joy Guy Steele Gilad Bracha Alex Buckley Daniel Smith and Gavin Bierman. 2021. The Java Language Specification: Java SE 17 Edition. https:\/\/docs.oracle.com\/javase\/specs\/jls\/se17\/html\/index.html \t\t\t\t  James Gosling Bill Joy Guy Steele Gilad Bracha Alex Buckley Daniel Smith and Gavin Bierman. 2021. The Java Language Specification: Java SE 17 Edition. https:\/\/docs.oracle.com\/javase\/specs\/jls\/se17\/html\/index.html"},{"key":"e_1_2_1_9_1","volume-title":"Practical Foundations for Programming Languages","author":"Harper Robert","unstructured":"Robert Harper . 2016. Practical Foundations for Programming Languages ( 2 nd ed.). Cambridge University Press , USA. isbn:1107150302 Robert Harper. 2016. Practical Foundations for Programming Languages (2nd ed.). Cambridge University Press, USA. isbn:1107150302","edition":"2"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/503502.503505"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/3428243"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2020.25"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1390630.1390656"},{"key":"e_1_2_1_14_1","volume-title":"Types and Programming Languages","author":"Pierce Benjamin C.","year":"2091","unstructured":"Benjamin C. Pierce . 2002. Types and Programming Languages . The MIT Press , Cambridge, MA, USA . isbn:026216 2091 Benjamin C. Pierce. 2002. Types and Programming Languages. The MIT Press, Cambridge, MA, USA. isbn:0262162091"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449764.1449804"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048142"},{"key":"e_1_2_1_17_1","volume-title":"Informal Proceedings of the 20th International Workshop on Foundations of Object-Oriented Languages. https:\/\/fool2013","author":"Tate Ross","year":"2013","unstructured":"Ross Tate . 2013 . Mixed-Site Variance. In FOOL \u201913 : Informal Proceedings of the 20th International Workshop on Foundations of Object-Oriented Languages. https:\/\/fool2013 .cs.brown.edu\/tate.pdf Ross Tate. 2013. Mixed-Site Variance. In FOOL \u201913: Informal Proceedings of the 20th International Workshop on Foundations of Object-Oriented Languages. https:\/\/fool2013.cs.brown.edu\/tate.pdf"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993570"},{"key":"e_1_2_1_19_1","unstructured":"Mads Torgersen Erik Ernst and Christian Plesner Hansen. 2005. Wild FJ. In FOOL: Foundations of Object-Oriented Languages. https:\/\/homepages.inf.ed.ac.uk\/wadler\/fool\/program\/14.html \t\t\t\t  Mads Torgersen Erik Ernst and Christian Plesner Hansen. 2005. Wild FJ. In FOOL: Foundations of Object-Oriented Languages. https:\/\/homepages.inf.ed.ac.uk\/wadler\/fool\/program\/14.html"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3563301","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3563301","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:38:10Z","timestamp":1750178290000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3563301"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,10,31]]},"references-count":19,"journal-issue":{"issue":"OOPSLA2","published-print":{"date-parts":[[2022,10,31]]}},"alternative-id":["10.1145\/3563301"],"URL":"https:\/\/doi.org\/10.1145\/3563301","relation":{},"ISSN":["2475-1421"],"issn-type":[{"type":"electronic","value":"2475-1421"}],"subject":[],"published":{"date-parts":[[2022,10,31]]},"assertion":[{"value":"2022-10-31","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}