{"id":"https://openalex.org/W2091335641","doi":"https://doi.org/10.1145/2676726.2676971","title":"Safe &amp; Efficient Gradual Typing for TypeScript","display_name":"Safe &amp; Efficient Gradual Typing for TypeScript","publication_year":2014,"publication_date":"2014-12-19","ids":{"openalex":"https://openalex.org/W2091335641","doi":"https://doi.org/10.1145/2676726.2676971","mag":"2091335641"},"language":"en","primary_location":{"id":"doi:10.1145/2676726.2676971","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2676726.2676971","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5109204161","display_name":"Aseem Rastogi","orcid":null},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Aseem Rastogi","raw_affiliation_strings":["University of Maryland, College Park, MD, USA"],"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park, MD, USA","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5039334115","display_name":"Nikhil Swamy","orcid":"https://orcid.org/0000-0001-5348-9266"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Nikhil Swamy","raw_affiliation_strings":["Microsoft Research, Redmond, WA, USA"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, Redmond, WA, USA","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5108519702","display_name":"C\u00e9dric Fournet","orcid":"https://orcid.org/0000-0001-6929-886X"},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]},{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["GB","US"],"is_corresponding":false,"raw_author_name":"C\u00e9dric Fournet","raw_affiliation_strings":["Microsoft Research, Cambridge, United Kingdom","Microsoft Research, Cambridge, United Kingdom ("],"affiliations":[{"raw_affiliation_string":"Microsoft Research, Cambridge, United Kingdom","institution_ids":["https://openalex.org/I4210164937"]},{"raw_affiliation_string":"Microsoft Research, Cambridge, United Kingdom (","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5077695892","display_name":"Gavin Bierman","orcid":null},"institutions":[{"id":"https://openalex.org/I4210107681","display_name":"Oracle (United Kingdom)","ror":"https://ror.org/01pe8xs92","country_code":"GB","type":"company","lineage":["https://openalex.org/I1342911587","https://openalex.org/I4210107681"]},{"id":"https://openalex.org/I1342911587","display_name":"Oracle (United States)","ror":"https://ror.org/006c77m33","country_code":"US","type":"company","lineage":["https://openalex.org/I1342911587"]}],"countries":["GB","US"],"is_corresponding":false,"raw_author_name":"Gavin Bierman","raw_affiliation_strings":["Oracle Labs, Cambridge, United Kingdom","Oracle Labs, Cambridge, United Kingdom#TAB#"],"affiliations":[{"raw_affiliation_string":"Oracle Labs, Cambridge, United Kingdom","institution_ids":["https://openalex.org/I4210107681"]},{"raw_affiliation_string":"Oracle Labs, Cambridge, United Kingdom#TAB#","institution_ids":["https://openalex.org/I1342911587"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5042775338","display_name":"Panagiotis Vekris","orcid":null},"institutions":[{"id":"https://openalex.org/I36258959","display_name":"University of California, San Diego","ror":"https://ror.org/0168r3w48","country_code":"US","type":"education","lineage":["https://openalex.org/I36258959"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Panagiotis Vekris","raw_affiliation_strings":["University of California, San Diego, San Diego, CA, USA"],"affiliations":[{"raw_affiliation_string":"University of California, San Diego, San Diego, CA, USA","institution_ids":["https://openalex.org/I36258959"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5109204161"],"corresponding_institution_ids":["https://openalex.org/I66946132"],"apc_list":null,"apc_paid":null,"fwci":14.7243,"has_fulltext":false,"cited_by_count":83,"citation_normalized_percentile":{"value":0.99014778,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"167","last_page":"180"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9969000220298767,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.996399998664856,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/typescript","display_name":"TypeScript","score":0.9875699281692505},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7517423629760742},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7322471737861633},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.6794851422309875},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.6619762182235718},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.4741581976413727},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.45757031440734863},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.45722901821136475},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3617423176765442},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.34165865182876587},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.14842543005943298},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.08894994854927063}],"concepts":[{"id":"https://openalex.org/C2777869424","wikidata":"https://www.wikidata.org/wiki/Q978185","display_name":"TypeScript","level":2,"score":0.9875699281692505},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7517423629760742},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7322471737861633},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.6794851422309875},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.6619762182235718},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.4741581976413727},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.45757031440734863},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.45722901821136475},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3617423176765442},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.34165865182876587},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.14842543005943298},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.08894994854927063}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2676726.2676971","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2676726.2676971","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":37,"referenced_works":["https://openalex.org/W37142284","https://openalex.org/W1568983194","https://openalex.org/W1587667242","https://openalex.org/W1591203048","https://openalex.org/W1839269954","https://openalex.org/W1964159416","https://openalex.org/W1973186567","https://openalex.org/W2003715144","https://openalex.org/W2003969655","https://openalex.org/W2008880956","https://openalex.org/W2028349555","https://openalex.org/W2052973434","https://openalex.org/W2055886480","https://openalex.org/W2067104598","https://openalex.org/W2100759424","https://openalex.org/W2102473657","https://openalex.org/W2104216136","https://openalex.org/W2107860178","https://openalex.org/W2111531191","https://openalex.org/W2128496924","https://openalex.org/W2129345992","https://openalex.org/W2131242794","https://openalex.org/W2149469095","https://openalex.org/W2150998213","https://openalex.org/W2152419799","https://openalex.org/W2156249516","https://openalex.org/W2163533732","https://openalex.org/W2293770661","https://openalex.org/W2796564118","https://openalex.org/W2911692446","https://openalex.org/W3137596000","https://openalex.org/W3152003655","https://openalex.org/W3163012639","https://openalex.org/W4229717394","https://openalex.org/W4243054153","https://openalex.org/W6676397766","https://openalex.org/W6758540150"],"related_works":["https://openalex.org/W2917568086","https://openalex.org/W4230472993","https://openalex.org/W4246197723","https://openalex.org/W1992859750","https://openalex.org/W2970205775","https://openalex.org/W4240952528","https://openalex.org/W2970226397","https://openalex.org/W4230360360","https://openalex.org/W2584827232","https://openalex.org/W4245369094"],"abstract_inverted_index":{"Current":[0],"proposals":[1],"for":[2,50,57],"adding":[3],"gradual":[4,46],"typing":[5],"to":[6,16,31],"JavaScript,":[7],"such":[8],"as":[9,52],"Closure,":[10],"TypeScript":[11,100,116],"and":[12,24,42,68,107],"Dart,":[13],"forgo":[14],"soundness":[15,62],"deal":[17],"with":[18],"issues":[19,34],"of":[20,114],"scale,":[21],"code":[22],"reuse,":[23],"popular":[25],"programming":[26],"patterns.":[27],"We":[28,40],"show":[29],"how":[30],"address":[32],"these":[33],"in":[35,73],"practice":[36],"while":[37],"retaining":[38],"soundness.":[39],"design":[41],"implement":[43],"a":[44,53,90],"new":[45],"type":[47,105],"system,":[48],"prototyped":[49],"expediency":[51],"'Safe'":[54],"compilation":[55],"mode":[56],"TypeScript.":[58],"Our":[59,86],"compiler":[60],"achieves":[61],"by":[63,98],"enforcing":[64],"stricter":[65],"static":[66],"checks":[67,72,96],"embedding":[69],"residual":[70],"runtime":[71],"compiled":[74],"code.":[75,117],"It":[76],"emits":[77],"plain":[78],"JavaScript":[79],"that":[80,92,94],"runs":[81],"on":[82],"stock":[83],"virtual":[84],"machines.":[85],"main":[87],"theorem":[88],"is":[89],"simulation":[91],"ensures":[93],"the":[95,112],"introduced":[97],"Safe":[99],"(1)":[101],"catch":[102],"any":[103],"dynamic":[104],"error,":[106],"(2)":[108],"do":[109],"not":[110],"alter":[111],"semantics":[113],"type-safe":[115]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":7},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":7},{"year":2020,"cited_by_count":5},{"year":2019,"cited_by_count":9},{"year":2018,"cited_by_count":5},{"year":2017,"cited_by_count":10},{"year":2016,"cited_by_count":19},{"year":2015,"cited_by_count":7}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
