{"id":"https://openalex.org/W2156351739","doi":"https://doi.org/10.1145/2480362.2480655","title":"The ruby type checker","display_name":"The ruby type checker","publication_year":2013,"publication_date":"2013-03-18","ids":{"openalex":"https://openalex.org/W2156351739","doi":"https://doi.org/10.1145/2480362.2480655","mag":"2156351739"},"language":"en","primary_location":{"id":"doi:10.1145/2480362.2480655","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2480362.2480655","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 28th Annual ACM Symposium on Applied Computing","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/A5038921193","display_name":"Brianna M. Ren","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":false,"raw_author_name":"Brianna M. Ren","raw_affiliation_strings":["University of Maryland, College Park"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5063351847","display_name":"John Toman","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":false,"raw_author_name":"John Toman","raw_affiliation_strings":["University of Maryland, College Park"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5071133213","display_name":"T. Stephen Strickland","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":false,"raw_author_name":"T. Stephen Strickland","raw_affiliation_strings":["University of Maryland, College Park"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5038702707","display_name":"Jeffrey S. Foster","orcid":"https://orcid.org/0000-0001-8043-1166"},"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":false,"raw_author_name":"Jeffrey S. Foster","raw_affiliation_strings":["University of Maryland, College Park"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park","institution_ids":["https://openalex.org/I66946132"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":5.4354,"has_fulltext":false,"cited_by_count":28,"citation_normalized_percentile":{"value":0.95632958,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"1565","last_page":"1572"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9912999868392944,"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.9904000163078308,"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/computer-science","display_name":"Computer science","score":0.8317148685455322},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7902212738990784},{"id":"https://openalex.org/keywords/scripting-language","display_name":"Scripting language","score":0.6738842725753784},{"id":"https://openalex.org/keywords/intersection","display_name":"Intersection (aeronautics)","score":0.5598073601722717},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.4827505946159363},{"id":"https://openalex.org/keywords/block","display_name":"Block (permutation group theory)","score":0.42354512214660645},{"id":"https://openalex.org/keywords/model-checking","display_name":"Model checking","score":0.4164387583732605},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.08529838919639587}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8317148685455322},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7902212738990784},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.6738842725753784},{"id":"https://openalex.org/C64543145","wikidata":"https://www.wikidata.org/wiki/Q162942","display_name":"Intersection (aeronautics)","level":2,"score":0.5598073601722717},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.4827505946159363},{"id":"https://openalex.org/C2777210771","wikidata":"https://www.wikidata.org/wiki/Q4927124","display_name":"Block (permutation group theory)","level":2,"score":0.42354512214660645},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.4164387583732605},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.08529838919639587},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C146978453","wikidata":"https://www.wikidata.org/wiki/Q3798668","display_name":"Aerospace engineering","level":1,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2480362.2480655","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2480362.2480655","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 28th Annual ACM Symposium on Applied Computing","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.306.6673","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.306.6673","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.umd.edu/~jfoster/papers/oops13.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G6532792234","display_name":null,"funder_award_id":"CCF-0915978, CCF-1116740","funder_id":"https://openalex.org/F4320337387","funder_display_name":"Division of Computing and Communication Foundations"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320337387","display_name":"Division of Computing and Communication Foundations","ror":"https://ror.org/01mng8331"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":17,"referenced_works":["https://openalex.org/W1530151067","https://openalex.org/W1973186567","https://openalex.org/W2000217350","https://openalex.org/W2052363833","https://openalex.org/W2059314438","https://openalex.org/W2113888205","https://openalex.org/W2122592814","https://openalex.org/W2128303158","https://openalex.org/W2129345992","https://openalex.org/W2134720688","https://openalex.org/W2135536553","https://openalex.org/W2148535470","https://openalex.org/W2156249516","https://openalex.org/W3137596000","https://openalex.org/W4230441739","https://openalex.org/W4241122238","https://openalex.org/W4249990212"],"related_works":["https://openalex.org/W2364866360","https://openalex.org/W4243252198","https://openalex.org/W2118300983","https://openalex.org/W2112962394","https://openalex.org/W3137189469","https://openalex.org/W2355288082","https://openalex.org/W2086733238","https://openalex.org/W4235530921","https://openalex.org/W3017187763","https://openalex.org/W2601088302"],"abstract_inverted_index":{"We":[0,115],"present":[1],"the":[2,101,104],"Ruby":[3,25],"Type":[4],"Checker":[5],"(rtc),":[6],"a":[7,24,42,49,66],"tool":[8],"that":[9,70],"adds":[10],"type":[11,30,52,56,68,94,105,113],"checking":[12,31,95,106,133],"to":[13,119,125,128],"Ruby,":[14],"an":[15],"object-oriented,":[16],"dynamic":[17,51],"scripting":[18],"language.":[19],"Rtc":[20,54,85],"is":[21,86],"implemented":[22],"as":[23,100],"library":[26],"in":[27],"which":[28],"all":[29],"occurs":[32],"at":[33,132],"run":[34],"time;":[35],"thus":[36],"it":[37,124],"checks":[38],"types":[39],"later":[40],"than":[41,48],"purely":[43],"static":[44],"system,":[45],"but":[46],"earlier":[47],"traditional":[50],"system.":[53],"supports":[55],"annotations":[57],"on":[58],"classes,":[59],"methods,":[60],"and":[61,63,73,79,108,122,130],"objects":[62,98,110],"rtc":[64,118],"provides":[65],"rich":[67],"language":[69],"includes":[71],"union":[72],"intersection":[74],"types,":[75,78],"higherorder":[76],"(block)":[77],"parametric":[80],"polymorphism":[81],"among":[82],"other":[83],"features.":[84],"designed":[87],"so":[88],"programmers":[89],"can":[90],"control":[91],"exactly":[92],"where":[93],"occurs:":[96],"type-annotated":[97],"serve":[99],"\"roots\"":[102],"of":[103],"process,":[107],"unannotated":[109],"are":[111],"not":[112],"checked.":[114],"have":[116],"applied":[117],"several":[120],"programs":[121],"found":[123],"be":[126],"easy":[127],"use":[129],"effective":[131],"types.":[134]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":4},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":4},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":4},{"year":2013,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
