{"id":"https://openalex.org/W2128457714","doi":"https://doi.org/10.1145/2254064.2254094","title":"Fast and precise hybrid type inference for JavaScript","display_name":"Fast and precise hybrid type inference for JavaScript","publication_year":2012,"publication_date":"2012-06-11","ids":{"openalex":"https://openalex.org/W2128457714","doi":"https://doi.org/10.1145/2254064.2254094","mag":"2128457714"},"language":"en","primary_location":{"id":"doi:10.1145/2254064.2254094","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2254064.2254094","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation","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/A5082428064","display_name":"Brian Hackett","orcid":null},"institutions":[{"id":"https://openalex.org/I1291431925","display_name":"Mozilla Foundation","ror":"https://ror.org/01y8r3379","country_code":"US","type":"nonprofit","lineage":["https://openalex.org/I1291431925"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Brian Hackett","raw_affiliation_strings":["Mozilla, Mountain View, CA, USA"],"affiliations":[{"raw_affiliation_string":"Mozilla, Mountain View, CA, USA","institution_ids":["https://openalex.org/I1291431925"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5101700253","display_name":"Shuyu Guo","orcid":"https://orcid.org/0009-0001-8596-9747"},"institutions":[{"id":"https://openalex.org/I161318765","display_name":"University of California, Los Angeles","ror":"https://ror.org/046rm7j60","country_code":"US","type":"education","lineage":["https://openalex.org/I161318765"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Shu-yu Guo","raw_affiliation_strings":["Mozilla &amp; University of California, Los Angeles, Mountain View, CA, USA","Mozilla & University of California, Los Angeles, Mountain View, CA, USA#TAB#"],"affiliations":[{"raw_affiliation_string":"Mozilla &amp; University of California, Los Angeles, Mountain View, CA, USA","institution_ids":["https://openalex.org/I161318765"]},{"raw_affiliation_string":"Mozilla & University of California, Los Angeles, Mountain View, CA, USA#TAB#","institution_ids":["https://openalex.org/I161318765"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5082428064"],"corresponding_institution_ids":["https://openalex.org/I1291431925"],"apc_list":null,"apc_paid":null,"fwci":27.8455,"has_fulltext":false,"cited_by_count":131,"citation_normalized_percentile":{"value":0.99683396,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"239","last_page":"250"},"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.9976999759674072,"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.9976999759674072,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9943000078201294,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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.9940000176429749,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.8823962211608887},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.858687162399292},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.824945330619812},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.737391471862793},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.6218174695968628},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6057015657424927},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.5880964994430542},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.4822009801864624},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.47044649720191956},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.46752429008483887},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.44786328077316284},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.41917863488197327},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.41334670782089233},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3687261939048767},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3546539545059204},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3268200755119324},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2126528024673462},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.20098251104354858},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.08103287220001221}],"concepts":[{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.8823962211608887},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.858687162399292},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.824945330619812},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.737391471862793},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.6218174695968628},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6057015657424927},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.5880964994430542},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.4822009801864624},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.47044649720191956},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.46752429008483887},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.44786328077316284},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.41917863488197327},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.41334670782089233},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3687261939048767},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3546539545059204},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3268200755119324},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2126528024673462},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.20098251104354858},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.08103287220001221},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2254064.2254094","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2254064.2254094","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.365.9413","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.365.9413","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://rfrn.org/~shu/drafts/ti.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":31,"referenced_works":["https://openalex.org/W202191487","https://openalex.org/W1503606081","https://openalex.org/W1512023806","https://openalex.org/W1549185825","https://openalex.org/W1568983194","https://openalex.org/W1597122400","https://openalex.org/W1650097949","https://openalex.org/W1777693579","https://openalex.org/W1999753800","https://openalex.org/W2007313703","https://openalex.org/W2012047726","https://openalex.org/W2022443117","https://openalex.org/W2036933361","https://openalex.org/W2045723688","https://openalex.org/W2055886480","https://openalex.org/W2067872353","https://openalex.org/W2073888041","https://openalex.org/W2088494048","https://openalex.org/W2113556560","https://openalex.org/W2116136092","https://openalex.org/W2129345992","https://openalex.org/W2135262537","https://openalex.org/W2138930545","https://openalex.org/W2141293928","https://openalex.org/W2149237601","https://openalex.org/W2156249516","https://openalex.org/W2163627399","https://openalex.org/W2293770661","https://openalex.org/W3137596000","https://openalex.org/W3142323636","https://openalex.org/W4244807040"],"related_works":["https://openalex.org/W2867457158","https://openalex.org/W2765641823","https://openalex.org/W4297908618","https://openalex.org/W3111646971","https://openalex.org/W3186878187","https://openalex.org/W2985048382","https://openalex.org/W1843794072","https://openalex.org/W4376606823","https://openalex.org/W4249990212","https://openalex.org/W2148349940"],"abstract_inverted_index":{"JavaScript":[0,47],"performance":[1],"is":[2,54,69],"often":[3],"bound":[4],"by":[5,33,86],"its":[6],"dynamically":[7],"typed":[8],"nature.":[9],"Compilers":[10],"do":[11],"not":[12],"have":[13],"access":[14],"to":[15,29],"static":[16,88],"type":[17,43,92],"information,":[18],"making":[19],"generation":[20],"of":[21],"efficient,":[22],"type-specialized":[23],"machine":[24],"code":[25],"difficult.":[26],"We":[27],"seek":[28],"solve":[30],"this":[31,37],"problem":[32],"inferring":[34],"types.":[35],"In":[36],"paper":[38],"we":[39],"present":[40],"a":[41],"hybrid":[42],"inference":[44],"algorithm":[45,53,68],"for":[46,60],"based":[48],"on":[49],"points-to":[50],"analysis.":[51],"Our":[52,67],"fast,":[55],"in":[56,62],"that":[57,74],"it":[58,65],"pays":[59],"itself":[61],"the":[63,77],"optimizations":[64],"enables.":[66],"also":[70],"precise,":[71],"generating":[72],"information":[73],"closely":[75],"reflects":[76],"program's":[78],"actual":[79],"behavior":[80],"even":[81],"when":[82],"analyzing":[83],"polymorphic":[84],"code,":[85],"augmenting":[87],"analysis":[89],"with":[90],"run-time":[91],"barriers.":[93]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":7},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":10},{"year":2017,"cited_by_count":18},{"year":2016,"cited_by_count":18},{"year":2015,"cited_by_count":18},{"year":2014,"cited_by_count":21},{"year":2013,"cited_by_count":14},{"year":2012,"cited_by_count":10}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
