{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T20:15:27Z","timestamp":1784232927551,"version":"3.55.0"},"publisher-location":"New York, NY, USA","reference-count":30,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,11,17]],"date-time":"2020-11-17T00:00:00Z","timestamp":1605571200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"United States Department of Defense","award":["H98230-14-C-0140"],"award-info":[{"award-number":["H98230-14-C-0140"]}]},{"name":"AFRL and DARPA","award":["FA8750-16-2-0042"],"award-info":[{"award-number":["FA8750-16-2-0042"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,11,18]]},"DOI":"10.1145\/3426428.3426913","type":"proceedings-article","created":{"date-parts":[[2020,11,25]],"date-time":"2020-11-25T04:27:08Z","timestamp":1606278428000},"page":"34-47","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["A case study in language-based security: building an I\/O library for Wyvern"],"prefix":"10.1145","author":[{"given":"Jennifer A.","family":"Fish","sequence":"first","affiliation":[{"name":"Carnegie Mellon University, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Darya","family":"Melicher","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0631-5591","authenticated-orcid":false,"given":"Jonathan","family":"Aldrich","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2020,11,17]]},"reference":[{"key":"e_1_3_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1007\/11555827_12"},{"key":"e_1_3_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-0-387-35350-0_6"},{"key":"e_1_3_2_2_3_1","unstructured":"Joshua Bloch. 2007. How To Design A Good API and Why it Matters. htps:\/\/www.youtube.com\/watch?v=heh4OeB9A-c  Joshua Bloch. 2007. How To Design A Good API and Why it Matters. htps:\/\/www.youtube.com\/watch?v=heh4OeB9A-c"},{"key":"e_1_3_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-14107-2_20"},{"key":"e_1_3_2_2_5_1","first-page":"1","article-title":"Creating Languages","volume":"55","author":"Flatt Matthew","year":"2012","unstructured":"Matthew Flatt . 2012 . Creating Languages in Racket. Commun. ACM 55 , 1 (Jan. 2012 ), 48-56. htps:\/\/doi.org\/10.1145\/2063176.2063195 Matthew Flatt. 2012. Creating Languages in Racket. Commun. ACM 55, 1 (Jan. 2012 ), 48-56. htps:\/\/doi.org\/10.1145\/2063176.2063195","journal-title":"Racket. Commun. ACM"},{"key":"e_1_3_2_2_6_1","volume-title":"Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation (Hollywood, CA, USA) ( OSDI'12). USENIX Association, USA, 47-60","author":"Gifin Daniel B.","year":"2012","unstructured":"Daniel B. Gifin , Amit Levy , Deian Stefan , David Terei , David Mazi\u00e8res , John C. Mitchell , and Alejandro Russo . 2012 . Hails: Protecting Data Privacy in Untrusted Web Applications . In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation (Hollywood, CA, USA) ( OSDI'12). USENIX Association, USA, 47-60 . Daniel B. Gifin, Amit Levy, Deian Stefan, David Terei, David Mazi\u00e8res, John C. Mitchell, and Alejandro Russo. 2012. Hails: Protecting Data Privacy in Untrusted Web Applications. In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation (Hollywood, CA, USA) ( OSDI'12). USENIX Association, USA, 47-60."},{"key":"e_1_3_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2030256.2034639"},{"key":"e_1_3_2_2_8_1","volume-title":"Proceedings of the USENIX Symposium on Internet Technologies and Systems on USENIX Symposium on Internet Technologies and Systems","author":"Gong Li","year":"1997","unstructured":"Li Gong , Marianne Mueller , Hemma Prafullchandra , and Roland Schemers . 1997 . Going beyond the Sandbox: An Overview of the New Security Architecture in the JavaTM Development Kit 1.2 . In Proceedings of the USENIX Symposium on Internet Technologies and Systems on USENIX Symposium on Internet Technologies and Systems ( Monterey, California) ( USITS'97). USENIX Association, USA, 10. Li Gong, Marianne Mueller, Hemma Prafullchandra, and Roland Schemers. 1997. Going beyond the Sandbox: An Overview of the New Security Architecture in the JavaTM Development Kit 1.2. In Proceedings of the USENIX Symposium on Internet Technologies and Systems on USENIX Symposium on Internet Technologies and Systems (Monterey, California) ( USITS'97). USENIX Association, USA, 10."},{"key":"e_1_3_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-48340-3_26"},{"key":"e_1_3_2_2_10_1","first-page":"174","volume-title":"29th European Conference on ObjectOriented Programming (ECOOP 2015 ) (Leibniz International Proceedings in Informatics (LIPIcs)","volume":"37","author":"Lee Joseph","year":"2015","unstructured":"Joseph Lee , Jonathan Aldrich , Troy Shaw , and Alex Potanin . 2015 . A Theory of Tagged Objects . In 29th European Conference on ObjectOriented Programming (ECOOP 2015 ) (Leibniz International Proceedings in Informatics (LIPIcs) , Vol. 37 ), John Tang Boyland (Ed.). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany , 174 - 197 . htps:\/\/doi.org\/10.4230\/LIPIcs.ECOOP. 2015.174 Joseph Lee, Jonathan Aldrich, Troy Shaw, and Alex Potanin. 2015. A Theory of Tagged Objects. In 29th European Conference on ObjectOriented Programming (ECOOP 2015 ) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 37 ), John Tang Boyland (Ed.). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 174-197. htps:\/\/doi.org\/10.4230\/LIPIcs.ECOOP. 2015.174"},{"key":"e_1_3_2_2_11_1","doi-asserted-by":"crossref","unstructured":"Daan Leijen. 2014. Koka: Programming with Row Polymorphic Efect Types In Mathematically Structured Functional Programming. htps:\/\/www.microsoft.com\/en-us\/research\/publication\/kokaprogramming-with-row-polymorphic-efect-types-2\/  Daan Leijen. 2014. Koka: Programming with Row Polymorphic Efect Types In Mathematically Structured Functional Programming. htps:\/\/www.microsoft.com\/en-us\/research\/publication\/kokaprogramming-with-row-polymorphic-efect-types-2\/","DOI":"10.4204\/EPTCS.153.8"},{"key":"e_1_3_2_2_12_1","unstructured":"D. Liebgold. 2011. Functional mzScheme DSLs in game development. ( 2011 ). Presented at Commercial Users of Functional Programming.  D. Liebgold. 2011. Functional mzScheme DSLs in game development. ( 2011 ). Presented at Commercial Users of Functional Programming."},{"key":"e_1_3_2_2_14_1","volume-title":"Proc. ACM Program. Lang. 4, POPL, Article 66 (","author":"Mackay Julian","year":"2019","unstructured":"Julian Mackay , Alex Potanin , Jonathan Aldrich , and Lindsay Groves . 2019 . Decidable Subtyping for Path Dependent Types . Proc. ACM Program. Lang. 4, POPL, Article 66 ( Dec. 2019 ), 27 pages. htps:\/\/doi. org\/10.1145\/3371134 Julian Mackay, Alex Potanin, Jonathan Aldrich, and Lindsay Groves. 2019. Decidable Subtyping for Path Dependent Types. Proc. ACM Program. Lang. 4, POPL, Article 66 ( Dec. 2019 ), 27 pages. htps:\/\/doi. org\/10.1145\/3371134"},{"key":"e_1_3_2_2_15_1","volume-title":"31st European Conference on Object-Oriented Programming (ECOOP 2017 ) (Leibniz International Proceedings in Informatics (LIPIcs)","volume":"74","author":"Melicher Darya","year":"2017","unstructured":"Darya Melicher , Yangqingwei Shi , Alex Potanin , and Jonathan Aldrich . 2017 . A Capability-Based Module System for Authority Control . In 31st European Conference on Object-Oriented Programming (ECOOP 2017 ) (Leibniz International Proceedings in Informatics (LIPIcs) , Vol. 74 ), Peter M\u00fcller (Ed.). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 20 : 1-20 : 27. htps:\/\/doi.org\/10.4230\/LIPIcs. ECOOP. 2017.20 Darya Melicher, Yangqingwei Shi, Alex Potanin, and Jonathan Aldrich. 2017. A Capability-Based Module System for Authority Control. In 31st European Conference on Object-Oriented Programming (ECOOP 2017 ) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 74 ), Peter M\u00fcller (Ed.). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 20 : 1-20 : 27. htps:\/\/doi.org\/10.4230\/LIPIcs. ECOOP. 2017.20"},{"key":"e_1_3_2_2_16_1","volume-title":"Joe-E: A SecurityOriented Subset of Java. In Network and Distributed System Security Symposium.","author":"Mettler Adrian","year":"2010","unstructured":"Adrian Mettler , David Wagner , and Tyler Close . 2010 . Joe-E: A SecurityOriented Subset of Java. In Network and Distributed System Security Symposium. Adrian Mettler, David Wagner, and Tyler Close. 2010. Joe-E: A SecurityOriented Subset of Java. In Network and Distributed System Security Symposium."},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/292540.292561"},{"key":"e_1_3_2_2_20_1","volume-title":"Proc. ACM Program. Lang. 4, POPL, Article 46 (","author":"New Max S.","year":"2019","unstructured":"Max S. New , Dustin Jamner , and Amal Ahmed . 2019 . Graduality and Parametricity: Together Again for the First Time . Proc. ACM Program. Lang. 4, POPL, Article 46 ( Dec. 2019 ), 32 pages. htps:\/\/doi.org\/10. 1145\/3371114 Max S. New, Dustin Jamner, and Amal Ahmed. 2019. Graduality and Parametricity: Together Again for the First Time. Proc. ACM Program. Lang. 4, POPL, Article 46 ( Dec. 2019 ), 32 pages. htps:\/\/doi.org\/10. 1145\/3371114"},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-44202-9_5"},{"key":"e_1_3_2_2_22_1","unstructured":"Oracle. 2014. Permissions in the Java Development Kit (JDK). htps:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/security\/ permissions.html  Oracle. 2014. Permissions in the Java Development Kit (JDK). htps:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/security\/ permissions.html"},{"key":"e_1_3_2_2_23_1","unstructured":"Oracle. 2014. SecurityManager (Java Platform SE 8 ). htps:\/\/docs. oracle.com\/javase\/8\/docs\/api\/java\/lang\/SecurityManager.html  Oracle. 2014. SecurityManager (Java Platform SE 8 ). htps:\/\/docs. oracle.com\/javase\/8\/docs\/api\/java\/lang\/SecurityManager.html"},{"key":"e_1_3_2_2_24_1","unstructured":"OWASP. 2015. Format string attack. htps:\/\/www.owasp.org\/index. php\/Format_string_atack  OWASP. 2015. Format string attack. htps:\/\/www.owasp.org\/index. php\/Format_string_atack"},{"key":"e_1_3_2_2_25_1","unstructured":"OWASP. 2020. OWASP Top 10 Web Application Security Risks. htps: \/\/owasp.org \/www-project-top-ten\/  OWASP. 2020. OWASP Top 10 Web Application Security Risks. htps: \/\/owasp.org \/www-project-top-ten\/"},{"key":"e_1_3_2_2_26_1","volume-title":"2nd Summit on Advances in Programming Languages (SNAPL 2017 ) (Leibniz International Proceedings in Informatics (LIPIcs)","author":"Patterson Daniel","year":"2017","unstructured":"Daniel Patterson and Amal Ahmed . 2017. Linking Types for MultiLanguage Software: Have Your Cake and Eat It Too . In 2nd Summit on Advances in Programming Languages (SNAPL 2017 ) (Leibniz International Proceedings in Informatics (LIPIcs) , Vol. 71 ), Benjamin S. Lerner, Rastislav Bod\u00edk , and Shriram Krishnamurthi (Eds.). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany , 12 : 1-12 : 15. htps:\/\/doi.org\/10.4230\/LIPIcs.SNAPL. 2017 .12 Daniel Patterson and Amal Ahmed. 2017. Linking Types for MultiLanguage Software: Have Your Cake and Eat It Too. In 2nd Summit on Advances in Programming Languages (SNAPL 2017 ) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 71 ), Benjamin S. Lerner, Rastislav Bod\u00edk, and Shriram Krishnamurthi (Eds.). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 12 : 1-12 : 15. htps:\/\/doi.org\/10.4230\/LIPIcs.SNAPL. 2017.12"},{"key":"e_1_3_2_2_27_1","first-page":"71","volume-title":"Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (Charleston, South Carolina, USA) ( POPL '93). Association for Computing Machinery","author":"Simon","unstructured":"Simon L. Peyton Jones and Philip Wadler. 1993. Imperative Functional Programming . In Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (Charleston, South Carolina, USA) ( POPL '93). Association for Computing Machinery , New York, NY, USA , 71 - 84 . htps:\/\/doi.org\/10.1145\/158511.158524 Simon L. Peyton Jones and Philip Wadler. 1993. Imperative Functional Programming. In Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (Charleston, South Carolina, USA) ( POPL '93). Association for Computing Machinery, New York, NY, USA, 71-84. htps:\/\/doi.org\/10.1145\/158511.158524"},{"key":"e_1_3_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/PROC.1975.9939"},{"key":"e_1_3_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542499"},{"key":"e_1_3_2_2_30_1","volume-title":"Object Capabilities and Isolation of Untrusted Web Applications. In IEE Symposium on Security and Privacy.","author":"Sergio Mafeis Ankur Taly","year":"2010","unstructured":"Ankur Taly Sergio Mafeis , John C. Mitchell . 2010 . Object Capabilities and Isolation of Untrusted Web Applications. In IEE Symposium on Security and Privacy. Ankur Taly Sergio Mafeis, John C. Mitchell. 2010. Object Capabilities and Isolation of Untrusted Web Applications. In IEE Symposium on Security and Privacy."},{"key":"e_1_3_2_2_31_1","first-page":"12","article-title":"Flexible Dynamic Information Flow Control in Haskell","volume":"46","author":"Stefan Deian","year":"2011","unstructured":"Deian Stefan , Alejandro Russo , John C. Mitchell , and David Mazi\u00e8res . 2011 . Flexible Dynamic Information Flow Control in Haskell . SIGPLAN Not. 46 , 12 (Sept. 2011 ), 95-106. htps:\/\/doi.org\/10.1145\/2096148. 2034688 Deian Stefan, Alejandro Russo, John C. Mitchell, and David Mazi\u00e8res. 2011. Flexible Dynamic Information Flow Control in Haskell. SIGPLAN Not. 46, 12 (Sept. 2011 ), 95-106. htps:\/\/doi.org\/10.1145\/2096148. 2034688","journal-title":"SIGPLAN Not."},{"key":"e_1_3_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3077286.3077571"},{"key":"e_1_3_2_2_33_1","volume-title":"Giford","author":"Turbak Franklyn A.","year":"2008","unstructured":"Franklyn A. Turbak and David K . Giford . 2008 . Design Concepts in Programming Languages. The MIT Press . Franklyn A. Turbak and David K. Giford. 2008. Design Concepts in Programming Languages. The MIT Press."}],"event":{"name":"SPLASH '20: Conference on Systems, Programming, Languages, and Applications, Software for Humanity","location":"Virtual USA","acronym":"SPLASH '20","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3426428.3426913","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3426428.3426913","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3426428.3426913","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T21:31:33Z","timestamp":1750195893000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3426428.3426913"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,11,17]]},"references-count":30,"alternative-id":["10.1145\/3426428.3426913","10.1145\/3426428"],"URL":"https:\/\/doi.org\/10.1145\/3426428.3426913","relation":{},"subject":[],"published":{"date-parts":[[2020,11,17]]},"assertion":[{"value":"2020-11-17","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}