{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,18]],"date-time":"2026-03-18T04:51:34Z","timestamp":1773809494473,"version":"3.50.1"},"reference-count":83,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA2","license":[{"start":{"date-parts":[[2023,10,16]],"date-time":"2023-10-16T00:00:00Z","timestamp":1697414400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100000001","name":"NSF","doi-asserted-by":"publisher","award":["1763922, 2030859, 2237984, 1823244"],"award-info":[{"award-number":["1763922, 2030859, 2237984, 1823244"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2023,10,16]]},"abstract":"<jats:p>Sound migratory typing envisions a safe and smooth refactoring of untyped code bases to typed ones. However, the cost of enforcing safety with run-time checks is often prohibitively high, thus performance regressions are a likely occurrence. Additional types can often recover performance, but choosing the right components to type is difficult because of the exponential size of the migratory typing lattice. In principal though, migration could be guided by off-the-shelf profiling tools. To examine this hypothesis, this paper follows the rational programmer method and reports on the results of an experiment on tens of thousands of performance-debugging scenarios via seventeen strategies for turning profiler output into an actionable next step. The most effective strategy is the use of deep types to eliminate the most costly boundaries between typed and untyped components; this strategy succeeds in more than 50% of scenarios if two performance degradations are tolerable along the way.<\/jats:p>","DOI":"10.1145\/3622817","type":"journal-article","created":{"date-parts":[[2023,10,16]],"date-time":"2023-10-16T15:41:29Z","timestamp":1697470889000},"page":"544-573","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["How Profilers Can Help Navigate Type Migration"],"prefix":"10.1145","volume":"7","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7078-9287","authenticated-orcid":false,"given":"Ben","family":"Greenman","sequence":"first","affiliation":[{"name":"University of Utah, Salt Lake City, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6678-1004","authenticated-orcid":false,"given":"Matthias","family":"Felleisen","sequence":"additional","affiliation":[{"name":"Northeastern University, Boston, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9338-7034","authenticated-orcid":false,"given":"Christos","family":"Dimoulas","sequence":"additional","affiliation":[{"name":"Northwestern University, Evanston, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2023,10,16]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1926385.1926437"},{"key":"e_1_2_1_2_1","volume-title":"Article 4, 34 pages","author":"Andersen Leif","year":"2019","unstructured":"Leif Andersen , Vincent St-Amour , Jan Vitek , and Matthias Felleisen . 2019. Feature-Specific Profiling . TOPLAS , 41, 1 ( 2019 ), Article 4, 34 pages . Leif Andersen, Vincent St-Amour, Jan Vitek, and Matthias Felleisen. 2019. Feature-Specific Profiling. TOPLAS, 41, 1 (2019), Article 4, 34 pages."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2784731.2784740"},{"key":"e_1_2_1_4_1","volume-title":"Jeremy Siek, and Sam Tobin-Hochstadt.","author":"Bauman Spenser","year":"2017","unstructured":"Spenser Bauman , Carl Friedrich Bolz-Tereick , Jeremy Siek, and Sam Tobin-Hochstadt. 2017 . Sound Gradual Typing: only Mostly Dead. PACMPL, 1, OOPSLA ( 2017), 54:1\u201354:24. Spenser Bauman, Carl Friedrich Bolz-Tereick, Jeremy Siek, and Sam Tobin-Hochstadt. 2017. Sound Gradual Typing: only Mostly Dead. PACMPL, 1, OOPSLA (2017), 54:1\u201354:24."},{"key":"e_1_2_1_5_1","doi-asserted-by":"crossref","unstructured":"Gavin Bierman Martin Abadi and Mads Torgersen. 2014. Understanding TypeScript. In ECOOP. 257\u2013281. \t\t\t\t  Gavin Bierman Martin Abadi and Mads Torgersen. 2014. Understanding TypeScript. In ECOOP. 257\u2013281.","DOI":"10.1007\/978-3-662-44202-9_11"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/175290.175300"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/3158103"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/3236793"},{"key":"e_1_2_1_9_1","volume-title":"Siek","author":"Castagna Guiseppe","year":"2020","unstructured":"Guiseppe Castagna , Victor Lanvin , Tommaso Petrucciani , and Jeremy G . Siek . 2020 . Gradual Typing : A New Perspective. PACMPL, 4, POPL ( 2020), 16:1\u201316:32. Guiseppe Castagna, Victor Lanvin, Tommaso Petrucciani, and Jeremy G. Siek. 2020. Gradual Typing: A New Perspective. PACMPL, 4, POPL (2020), 16:1\u201316:32."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2983990.2984017"},{"key":"e_1_2_1_11_1","volume-title":"OOPSLA","author":"Chaudhuri Avik","year":"2017","unstructured":"Avik Chaudhuri , Panagiotis Vekris , Sam Goldman , Marshall Roch , and Gabriel Levy . 2017. Fast and Precise Type Checking for JavaScript. PACMPL, 1 , OOPSLA ( 2017 ), 56:1\u201356:30. Avik Chaudhuri, Panagiotis Vekris, Sam Goldman, Marshall Roch, and Gabriel Levy. 2017. Fast and Precise Type Checking for JavaScript. PACMPL, 1, OOPSLA (2017), 56:1\u201356:30."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/3475738.3480941"},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of the USENIX Annual Technical Conference (ATC). 1\u201314","author":"Duplyakin Dmitry","year":"2019","unstructured":"Dmitry Duplyakin , Robert Ricci , Aleksander Maricq , Gary Wong , Jonathon Duerig , Eric Eide , Leigh Stoller , Mike Hibler , David Johnson , Kirk Webb , Aditya Akella , Kuangching Wang , Glenn Ricart , Larry Landweber , Chip Elliott , Michael Zink , Emmanuel Cecchet , Snigdhaswin Kar , and Prabodh Mishra . 2019 . The Design and Operation of CloudLab . In Proceedings of the USENIX Annual Technical Conference (ATC). 1\u201314 . https:\/\/www.flux.utah.edu\/paper\/duplyakin-atc19 Dmitry Duplyakin, Robert Ricci, Aleksander Maricq, Gary Wong, Jonathon Duerig, Eric Eide, Leigh Stoller, Mike Hibler, David Johnson, Kirk Webb, Aditya Akella, Kuangching Wang, Glenn Ricart, Larry Landweber, Chip Elliott, Michael Zink, Emmanuel Cecchet, Snigdhaswin Kar, and Prabodh Mishra. 2019. The Design and Operation of CloudLab. In Proceedings of the USENIX Annual Technical Conference (ATC). 1\u201314. https:\/\/www.flux.utah.edu\/paper\/duplyakin-atc19"},{"key":"e_1_2_1_14_1","volume-title":"Robert Bruce Findler, and Vincent St-Amour","author":"Feltey Daniel","year":"2018","unstructured":"Daniel Feltey , Ben Greenman , Christophe Scholliers , Robert Bruce Findler, and Vincent St-Amour . 2018 . Collapsible Contracts : Fixing a Pathology of Gradual Typing. PACMPL, 2, OOPSLA ( 2018), 133:1\u2013133:27. Daniel Feltey, Ben Greenman, Christophe Scholliers, Robert Bruce Findler, and Vincent St-Amour. 2018. Collapsible Contracts: Fixing a Pathology of Gradual Typing. PACMPL, 2, OOPSLA (2018), 133:1\u2013133:27."},{"key":"e_1_2_1_15_1","doi-asserted-by":"crossref","unstructured":"Robert Bruce Findler and Matthias Felleisen. 2002. Contracts for Higher-Order Functions. In ICFP. 48\u201359. \t\t\t\t  Robert Bruce Findler and Matthias Felleisen. 2002. Contracts for Higher-Order Functions. In ICFP. 48\u201359.","DOI":"10.1145\/583852.581484"},{"key":"e_1_2_1_16_1","doi-asserted-by":"crossref","unstructured":"Matthew Flatt. 2013. Submodules in Racket: you want it when again? In GPCE. 13\u201322. \t\t\t\t  Matthew Flatt. 2013. Submodules in Racket: you want it when again? In GPCE. 13\u201322.","DOI":"10.1145\/2637365.2517211"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341642"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1640089.1640110"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1529282.1529700"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2676726.2676992"},{"key":"e_1_2_1_21_1","doi-asserted-by":"crossref","unstructured":"Isaac Oscar Gariano Richard Roberts Stefan Marr Michael Homer and James Noble. 2019. Which of My Transient Type Checks Are Not (Almost) Free? In VMIL. 58\u201366. \t\t\t\t  Isaac Oscar Gariano Richard Roberts Stefan Marr Michael Homer and James Noble. 2019. Which of My Transient Type Checks Are Not (Almost) Free? In VMIL. 58\u201366.","DOI":"10.1145\/3358504.3361232"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1297027.1297033"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/800230.806987"},{"key":"e_1_2_1_24_1","doi-asserted-by":"crossref","unstructured":"Michael Greenberg. 2015. Space-Efficient Manifest Contracts. In POPL. 181\u2013194. \t\t\t\t  Michael Greenberg. 2015. Space-Efficient Manifest Contracts. In POPL. 181\u2013194.","DOI":"10.1145\/2775051.2676967"},{"key":"e_1_2_1_25_1","volume-title":"Deep and Shallow Types. Ph. D. Dissertation","author":"Greenman Ben","unstructured":"Ben Greenman . 2020. Deep and Shallow Types. Ph. D. Dissertation . Northeastern University . Ben Greenman. 2020. Deep and Shallow Types. Ph. D. Dissertation. Northeastern University."},{"key":"e_1_2_1_26_1","doi-asserted-by":"crossref","unstructured":"Ben Greenman. 2022. Deep and Shallow Types for Gradual Languages. In PLDI. 580\u2013593. \t\t\t\t  Ben Greenman. 2022. Deep and Shallow Types for Gradual Languages. In PLDI. 580\u2013593.","DOI":"10.1145\/3519939.3523430"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/3589806.3600034"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.8148784"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3579833"},{"key":"e_1_2_1_30_1","volume-title":"OOPSLA","author":"Greenman Ben","year":"2019","unstructured":"Ben Greenman , Matthias Felleisen , and Christos Dimoulas . 2019. Complete Monitors for Gradual Types. PACMPL, 3 , OOPSLA ( 2019 ), 122:1\u2013122:29. Ben Greenman, Matthias Felleisen, and Christos Dimoulas. 2019. Complete Monitors for Gradual Types. PACMPL, 3, OOPSLA (2019), 122:1\u2013122:29."},{"key":"e_1_2_1_31_1","first-page":"1","article-title":"A Transient Semantics for Typed Racket","volume":"6","author":"Greenman Ben","year":"2022","unstructured":"Ben Greenman , Lukas Lazarek , Christos Dimoulas , and Matthias Felleisen . 2022 . A Transient Semantics for Typed Racket . Programming , 6 , 2 (2022), 1 \u2013 25 . Ben Greenman, Lukas Lazarek, Christos Dimoulas, and Matthias Felleisen. 2022. A Transient Semantics for Typed Racket. Programming, 6, 2 (2022), 1\u201325.","journal-title":"Programming"},{"key":"e_1_2_1_32_1","doi-asserted-by":"crossref","unstructured":"Ben Greenman and Zeina Migeed. 2018. On the Cost of Type-Tag Soundness. In PEPM. 30\u201339. \t\t\t\t  Ben Greenman and Zeina Migeed. 2018. On the Cost of Type-Tag Soundness. In PEPM. 30\u201339.","DOI":"10.1145\/3175493.3162066"},{"key":"e_1_2_1_33_1","first-page":"1","article-title":"How to Evaluate the Performance of Gradual Type Systems","volume":"29","author":"Greenman Ben","year":"2019","unstructured":"Ben Greenman , Asumu Takikawa , Max S. New , Daniel Feltey , Robert Bruce Findler , Jan Vitek , and Matthias Felleisen . 2019 . How to Evaluate the Performance of Gradual Type Systems . Journal of Functional Programming , 29 , e4 (2019), 1 \u2013 45 . Ben Greenman, Asumu Takikawa, Max S. New, Daniel Feltey, Robert Bruce Findler, Jan Vitek, and Matthias Felleisen. 2019. How to Evaluate the Performance of Gradual Type Systems. Journal of Functional Programming, 29, e4 (2019), 1\u201345.","journal-title":"Journal of Functional Programming"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1028976.1028998"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1257\/aer.91.2.73"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10990-011-9066-z"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3473135"},{"key":"e_1_2_1_38_1","doi-asserted-by":"crossref","unstructured":"Erik Krogh Kristensen and Anders M\u00f8ller. 2017. Inference and Evolution of TypeScript Declaration Files. In FASE. 99\u2013115. \t\t\t\t  Erik Krogh Kristensen and Anders M\u00f8ller. 2017. Inference and Evolution of TypeScript Declaration Files. In FASE. 99\u2013115.","DOI":"10.1007\/978-3-662-54494-5_6"},{"key":"e_1_2_1_39_1","volume-title":"Siek","author":"Kuhlenschmidt Andre","year":"2019","unstructured":"Andre Kuhlenschmidt , Deyaaeldeen Almahallawi , and Jeremy G . Siek . 2019 . Toward Efficient Gradual Typing for Structural Types via Coercions. In PLDI. 517\u2013532. Andre Kuhlenschmidt, Deyaaeldeen Almahallawi, and Jeremy G. Siek. 2019. Toward Efficient Gradual Typing for Structural Types via Coercions. In PLDI. 517\u2013532."},{"key":"e_1_2_1_40_1","volume-title":"ICFP","author":"Lazarek Lukas","year":"2021","unstructured":"Lukas Lazarek , Ben Greenman , Matthias Felleisen , and Christos Dimoulas . 2021. How to Evaluate Blame for Gradual Types. PACMPL, 5 , ICFP ( 2021 ), 68:1\u201368:29. Lukas Lazarek, Ben Greenman, Matthias Felleisen, and Christos Dimoulas. 2021. How to Evaluate Blame for Gradual Types. PACMPL, 5, ICFP (2021), 68:1\u201368:29."},{"key":"e_1_2_1_41_1","volume-title":"ICFP","author":"Lazarek Lukas","year":"2023","unstructured":"Lukas Lazarek , Ben Greenman , Matthias Felleisen , and Christos Dimoulas . 2023. How to Evaluate Blame for Gradual Types, Part 2. PACMPL, 7 , ICFP ( 2023 ), 194:1\u2013194:28. Lukas Lazarek, Ben Greenman, Matthias Felleisen, and Christos Dimoulas. 2023. How to Evaluate Blame for Gradual Types, Part 2. PACMPL, 7, ICFP (2023), 194:1\u2013194:28."},{"key":"e_1_2_1_42_1","volume-title":"Robert Bruce Findler, and Christos Dimoulas","author":"Lazarek Lukas","year":"2020","unstructured":"Lukas Lazarek , Alexis King , Samanvitha Sundar , Robert Bruce Findler, and Christos Dimoulas . 2020 . Does Blame Shifting Work? PACMPL, 4, POPL ( 2020), 65:1\u201365:29. Lukas Lazarek, Alexis King, Samanvitha Sundar, Robert Bruce Findler, and Christos Dimoulas. 2020. Does Blame Shifting Work? PACMPL, 4, POPL (2020), 65:1\u201365:29."},{"key":"e_1_2_1_43_1","volume-title":"Gradual Soundness: Lessons from Static Python. Programming, 7, 1","author":"Lu Kuang-Chen","year":"2023","unstructured":"Kuang-Chen Lu , Ben Greenman , Carl Meyer , Dino Viehland , Aniket Panse , and Shriram Krishnamurthi . 2023 . Gradual Soundness: Lessons from Static Python. Programming, 7, 1 (2023), 2:1\u20132:40. Kuang-Chen Lu, Ben Greenman, Carl Meyer, Dino Viehland, Aniket Panse, and Shriram Krishnamurthi. 2023. Gradual Soundness: Lessons from Static Python. Programming, 7, 1 (2023), 2:1\u20132:40."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00045"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/3371097"},{"key":"e_1_2_1_46_1","unstructured":"John Stuart Mill. 1874. Essays on Some Unsettled Questions of Political Economy. Longmans Green Reader and Dyer. \t\t\t\t  John Stuart Mill. 1874. Essays on Some Unsettled Questions of Political Economy. Longmans Green Reader and Dyer."},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/3290331"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/3434334"},{"key":"e_1_2_1_49_1","volume-title":"OOPSLA","author":"Muehlboeck Fabian","year":"2017","unstructured":"Fabian Muehlboeck and Ross Tate . 2017. Sound Gradual Typing is Nominally Alive and Well. PACMPL, 1 , OOPSLA ( 2017 ), 56:1\u201356:30. Fabian Muehlboeck and Ross Tate. 2017. Sound Gradual Typing is Nominally Alive and Well. PACMPL, 1, OOPSLA (2017), 56:1\u201356:30."},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/3485504"},{"key":"e_1_2_1_51_1","volume-title":"International Conference on Architectural Support for Programming Languages and Operating Systems. Association for Computing Machinery, 265\u2013276","author":"Mytkowicz Todd","unstructured":"Todd Mytkowicz , Amer Diwan , Matthias Hauswirth , and Peter F. Sweeney . 2009. Producing Wrong Data without Doing Anything Obviously Wrong! . In International Conference on Architectural Support for Programming Languages and Operating Systems. Association for Computing Machinery, 265\u2013276 . isbn:9781605584065 Todd Mytkowicz, Amer Diwan, Matthias Hauswirth, and Peter F. Sweeney. 2009. Producing Wrong Data without Doing Anything Obviously Wrong!. In International Conference on Architectural Support for Programming Languages and Operating Systems. Association for Computing Machinery, 265\u2013276. isbn:9781605584065"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.4108\/eai.3-12-2015.2262403"},{"key":"e_1_2_1_53_1","unstructured":"Sanjay Patel. 2016. RotateRight Zoom. https:\/\/github.com\/rotateright\/rrprofile \t\t\t\t  Sanjay Patel. 2016. RotateRight Zoom. https:\/\/github.com\/rotateright\/rrprofile"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/3485488"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103656.2103714"},{"key":"e_1_2_1_56_1","doi-asserted-by":"crossref","unstructured":"Aseem Rastogi Nikhil Swamy C\u00e9dric Fournet Gavin Bierman and Panagiotis Vekris. 2015. Safe & Efficient Gradual Typing for TypeScript. In POPL. 167\u2013180. \t\t\t\t  Aseem Rastogi Nikhil Swamy C\u00e9dric Fournet Gavin Bierman and Panagiotis Vekris. 2015. Safe & Efficient Gradual Typing for TypeScript. In POPL. 167\u2013180.","DOI":"10.1145\/2775051.2676971"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133879"},{"key":"e_1_2_1_58_1","volume-title":"Francesco Zappa Nardelli, and Jan Vitek","author":"Richards Gregor","year":"2015","unstructured":"Gregor Richards , Francesco Zappa Nardelli, and Jan Vitek . 2015 . Concrete Types for TypeScript. In ECOOP. 76\u2013100. Gregor Richards, Francesco Zappa Nardelli, and Jan Vitek. 2015. Concrete Types for TypeScript. In ECOOP. 76\u2013100."},{"key":"e_1_2_1_59_1","first-page":"1","article-title":"Transient Typechecks are (Almost) Free","volume":"15","author":"Roberts Richard","year":"2019","unstructured":"Richard Roberts , Stefan Marr , Michael Homer , and James Noble . 2019 . Transient Typechecks are (Almost) Free . In ECOOP. 15 : 1 \u2013 15 :29. Richard Roberts, Stefan Marr, Michael Homer, and James Noble. 2019. Transient Typechecks are (Almost) Free. In ECOOP. 15:1\u201315:29.","journal-title":"ECOOP."},{"key":"e_1_2_1_60_1","volume-title":"JSTrace: Run-time Type Discovery for JavaScript. Master\u2019s thesis","author":"Saftoiu Claudiu","year":"2010","unstructured":"Claudiu Saftoiu . 2010. JSTrace: Run-time Type Discovery for JavaScript. Master\u2019s thesis . Brown University . https:\/\/cs.brown.edu\/research\/pubs\/theses\/ugrad\/ 2010 \/saftoiu.pdf Claudiu Saftoiu. 2010. JSTrace: Run-time Type Discovery for JavaScript. Master\u2019s thesis. Brown University. https:\/\/cs.brown.edu\/research\/pubs\/theses\/ugrad\/2010\/saftoiu.pdf"},{"key":"e_1_2_1_61_1","doi-asserted-by":"crossref","unstructured":"Jeremy Siek Peter Thiemann and Philip Wadler. 2015. Blame and Coercion: Together Again for the First Time. In PLDI. 425\u2013435. \t\t\t\t  Jeremy Siek Peter Thiemann and Philip Wadler. 2015. Blame and Coercion: Together Again for the First Time. In PLDI. 425\u2013435.","DOI":"10.1145\/2813885.2737968"},{"key":"e_1_2_1_62_1","doi-asserted-by":"crossref","unstructured":"Jeremy Siek Michael M. Vitousek Matteo Cimini Sam Tobin-Hochstadt and Ronald Garcia. 2015. Monotonic References for Efficient Gradual Typing. In ESOP. 432\u2013456. \t\t\t\t  Jeremy Siek Michael M. Vitousek Matteo Cimini Sam Tobin-Hochstadt and Ronald Garcia. 2015. Monotonic References for Efficient Gradual Typing. In ESOP. 432\u2013456.","DOI":"10.1007\/978-3-662-46669-8_18"},{"key":"e_1_2_1_63_1","doi-asserted-by":"crossref","unstructured":"Jeremy G. Siek Ronald Garcia and Walid Taha. 2009. Exploring the Design Space of Higher-Order Casts. In ESOP. 17\u201331. \t\t\t\t  Jeremy G. Siek Ronald Garcia and Walid Taha. 2009. Exploring the Design Space of Higher-Order Casts. In ESOP. 17\u201331.","DOI":"10.1007\/978-3-642-00590-9_2"},{"key":"e_1_2_1_64_1","volume-title":"Siek and Walid Taha","author":"Jeremy","year":"2006","unstructured":"Jeremy G. Siek and Walid Taha . 2006 . Gradual Typing for Functional Languages. In SFP. University of Chicago , TR-2006-06. 81\u201392. Jeremy G. Siek and Walid Taha. 2006. Gradual Typing for Functional Languages. In SFP. University of Chicago, TR-2006-06. 81\u201392."},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796821000101"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/1408681.1408688"},{"key":"e_1_2_1_67_1","unstructured":"Herbert A. Simon. 1947. Administrative Behavior. MacMillan. \t\t\t\t  Herbert A. Simon. 1947. Administrative Behavior. MacMillan."},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/1168054.1168060"},{"key":"e_1_2_1_69_1","volume-title":"How to Generate Actionable Advice about Performance Problems. Ph. D. Dissertation","author":"St-Amour Vincent","unstructured":"Vincent St-Amour . 2015. How to Generate Actionable Advice about Performance Problems. Ph. D. Dissertation . Northeastern University . Vincent St-Amour. 2015. How to Generate Actionable Advice about Performance Problems. Ph. D. Dissertation. Northeastern University."},{"key":"e_1_2_1_70_1","doi-asserted-by":"crossref","unstructured":"Vincent St-Amour Leif Andersen and Matthias Felleisen. 2015. Feature-Specific Profiling. In CC. 49\u201368. \t\t\t\t  Vincent St-Amour Leif Andersen and Matthias Felleisen. 2015. Feature-Specific Profiling. In CC. 49\u201368.","DOI":"10.1007\/978-3-662-46663-6_3"},{"key":"e_1_2_1_71_1","doi-asserted-by":"crossref","unstructured":"Nikhil Swamy C\u00e9dric Fournet Aseem Rastogi Karthikeyan Bhargavan Juan Chen Pierre-Yves Strub and Gavin Bierman. 2014. Gradual Typing Embedded Securely in JavaScript. In POPL. 425\u2013437. \t\t\t\t  Nikhil Swamy C\u00e9dric Fournet Aseem Rastogi Karthikeyan Bhargavan Juan Chen Pierre-Yves Strub and Gavin Bierman. 2014. Gradual Typing Embedded Securely in JavaScript. In POPL. 425\u2013437.","DOI":"10.1145\/2578855.2535889"},{"key":"e_1_2_1_72_1","doi-asserted-by":"crossref","unstructured":"Asumu Takikawa Daniel Feltey Ben Greenman Max S. New Jan Vitek and Matthias Felleisen. 2016. Is Sound Gradual Typing Dead? In POPL. 456\u2013468. \t\t\t\t  Asumu Takikawa Daniel Feltey Ben Greenman Max S. New Jan Vitek and Matthias Felleisen. 2016. Is Sound Gradual Typing Dead? In POPL. 456\u2013468.","DOI":"10.1145\/2914770.2837630"},{"key":"e_1_2_1_73_1","doi-asserted-by":"crossref","unstructured":"Sam Tobin-Hochstadt and Matthias Felleisen. 2006. Interlanguage Migration: from Scripts to Programs. In DLS. 964\u2013974. \t\t\t\t  Sam Tobin-Hochstadt and Matthias Felleisen. 2006. Interlanguage Migration: from Scripts to Programs. In DLS. 964\u2013974.","DOI":"10.1145\/1176617.1176755"},{"key":"e_1_2_1_74_1","first-page":"1","article-title":"Migratory Typing","volume":"17","author":"Tobin-Hochstadt Sam","year":"2017","unstructured":"Sam Tobin-Hochstadt , Matthias Felleisen , Robert Bruce Findler , Matthew Flatt , Ben Greenman , Andrew M. Kent , Vincent St-Amour , T. Stephen Strickland , and Asumu Takikawa . 2017 . Migratory Typing : Ten Years Later. In SNAPL. 17 : 1 \u2013 17 :17. Sam Tobin-Hochstadt, Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Ben Greenman, Andrew M. Kent, Vincent St-Amour, T. Stephen Strickland, and Asumu Takikawa. 2017. Migratory Typing: Ten Years Later. In SNAPL. 17:1\u201317:17.","journal-title":"Ten Years Later. In SNAPL."},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPICS.ECOOP.2020.8"},{"key":"e_1_2_1_76_1","volume-title":"Ph. D. Dissertation","author":"Vitousek Michael M.","unstructured":"Michael M. Vitousek . 2019. Gradual Typing for Python , Unguarded. Ph. D. Dissertation . Indiana University . Michael M. Vitousek. 2019. Gradual Typing for Python, Unguarded. Ph. D. Dissertation. Indiana University."},{"key":"e_1_2_1_77_1","doi-asserted-by":"crossref","unstructured":"Michael M. Vitousek Andrew Kent Jeremy G. Siek and Jim Baker. 2014. Design and Evaluation of Gradual Typing for python. In DLS. 45\u201356. \t\t\t\t  Michael M. Vitousek Andrew Kent Jeremy G. Siek and Jim Baker. 2014. Design and Evaluation of Gradual Typing for python. In DLS. 45\u201356.","DOI":"10.1145\/2775052.2661101"},{"key":"e_1_2_1_78_1","doi-asserted-by":"crossref","unstructured":"Michael M. Vitousek Jeremy G. Siek and Avik Chaudhuri. 2019. Optimizing and Evaluating Transient Gradual Typing. In DLS. 28\u201341. \t\t\t\t  Michael M. Vitousek Jeremy G. Siek and Avik Chaudhuri. 2019. Optimizing and Evaluating Transient Gradual Typing. In DLS. 28\u201341.","DOI":"10.1145\/3359619.3359742"},{"key":"e_1_2_1_79_1","volume-title":"Siek","author":"Vitousek Michael M.","year":"2017","unstructured":"Michael M. Vitousek , Cameron Swords , and Jeremy G . Siek . 2017 . Big Types in Little Runtime : Open-World Soundness and Collaborative Blame for Gradual Type Systems. In POPL. 762\u2013774. Michael M. Vitousek, Cameron Swords, and Jeremy G. Siek. 2017. Big Types in Little Runtime: Open-World Soundness and Collaborative Blame for Gradual Type Systems. In POPL. 762\u2013774."},{"key":"e_1_2_1_80_1","unstructured":"Jiayi Wei Maruth Goyal Greg Durrett and Isil Dillig. 2020. LambdaNet: Probabilistic Type Inference using Graph Neural Networks. In ICLR. \t\t\t\t  Jiayi Wei Maruth Goyal Greg Durrett and Isil Dillig. 2020. LambdaNet: Probabilistic Type Inference using Graph Neural Networks. In ICLR."},{"key":"e_1_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.1038\/nmeth.1618"},{"key":"e_1_2_1_82_1","volume-title":"Sylvain Lebresne, Johan \u00d6stlund, and Jan Vitek.","author":"Wrigstad Tobias","year":"2010","unstructured":"Tobias Wrigstad , Francesco Zappa Nardelli , Sylvain Lebresne, Johan \u00d6stlund, and Jan Vitek. 2010 . Integrating Typed and Untyped Code in a Scripting Language. In POPL. 377\u2013388. Tobias Wrigstad, Francesco Zappa Nardelli, Sylvain Lebresne, Johan \u00d6stlund, and Jan Vitek. 2010. Integrating Typed and Untyped Code in a Scripting Language. In POPL. 377\u2013388."},{"key":"e_1_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2023.37"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3622817","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3622817","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:37:04Z","timestamp":1750178224000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3622817"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,10,16]]},"references-count":83,"journal-issue":{"issue":"OOPSLA2","published-print":{"date-parts":[[2023,10,16]]}},"alternative-id":["10.1145\/3622817"],"URL":"https:\/\/doi.org\/10.1145\/3622817","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,10,16]]},"assertion":[{"value":"2023-10-16","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}