{"id":"https://openalex.org/W3012611775","doi":"https://doi.org/10.1145/3421472","title":"Type Inference for C","display_name":"Type Inference for C","publication_year":2020,"publication_date":"2020-09-30","ids":{"openalex":"https://openalex.org/W3012611775","doi":"https://doi.org/10.1145/3421472","mag":"3012611775"},"language":"en","primary_location":{"id":"doi:10.1145/3421472","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3421472","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3421472","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3421472","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5108691733","display_name":"Leandro T. C. Melo","orcid":null},"institutions":[{"id":"https://openalex.org/I4210134014","display_name":"Hospital das Cl\u00ednicas da Universidade Federal de Minas Gerais","ror":"https://ror.org/035rpst33","country_code":"BR","type":"healthcare","lineage":["https://openalex.org/I4210134014"]}],"countries":["BR"],"is_corresponding":true,"raw_author_name":"Leandro T. C. Melo","raw_affiliation_strings":["UFMG, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"UFMG, Brazil","institution_ids":["https://openalex.org/I4210134014"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5061049872","display_name":"Rodrigo Ribeiro","orcid":"https://orcid.org/0000-0003-0131-5154"},"institutions":[{"id":"https://openalex.org/I1314665148","display_name":"Universidade Federal do Oeste do Par\u00e1","ror":"https://ror.org/04603xj85","country_code":"BR","type":"education","lineage":["https://openalex.org/I1314665148"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Rodrigo G. Ribeiro","raw_affiliation_strings":["UFOP, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"UFOP, Brazil","institution_ids":["https://openalex.org/I1314665148"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5033228498","display_name":"Breno Campos Ferreira Guimar\u00e3es","orcid":null},"institutions":[{"id":"https://openalex.org/I4210134014","display_name":"Hospital das Cl\u00ednicas da Universidade Federal de Minas Gerais","ror":"https://ror.org/035rpst33","country_code":"BR","type":"healthcare","lineage":["https://openalex.org/I4210134014"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Breno C. F. Guimar\u00e3es","raw_affiliation_strings":["UFMG, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"UFMG, Brazil","institution_ids":["https://openalex.org/I4210134014"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5078149140","display_name":"Fernando Magno Quint\u00e3o Pereira","orcid":"https://orcid.org/0000-0002-0375-1657"},"institutions":[{"id":"https://openalex.org/I4210134014","display_name":"Hospital das Cl\u00ednicas da Universidade Federal de Minas Gerais","ror":"https://ror.org/035rpst33","country_code":"BR","type":"healthcare","lineage":["https://openalex.org/I4210134014"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Fernando Magno Quint\u00e3o Pereira","raw_affiliation_strings":["UFMG, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"UFMG, Brazil","institution_ids":["https://openalex.org/I4210134014"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5108691733"],"corresponding_institution_ids":["https://openalex.org/I4210134014"],"apc_list":null,"apc_paid":null,"fwci":0.8354,"has_fulltext":true,"cited_by_count":10,"citation_normalized_percentile":{"value":0.7998389,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":"42","issue":"3","first_page":"1","last_page":"71"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998000264167786,"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"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998000264167786,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9988999962806702,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9986000061035156,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.8946646451950073},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7230020761489868},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.6873441934585571},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.5572667717933655},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.5559386610984802},{"id":"https://openalex.org/keywords/unification","display_name":"Unification","score":0.541355550289154},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.5331987738609314},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.4994313716888428},{"id":"https://openalex.org/keywords/regular-expression","display_name":"Regular expression","score":0.49445009231567383},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.4823693335056305},{"id":"https://openalex.org/keywords/variety","display_name":"Variety (cybernetics)","score":0.474680632352829},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.4104093909263611},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.3635021448135376}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8946646451950073},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7230020761489868},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.6873441934585571},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.5572667717933655},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.5559386610984802},{"id":"https://openalex.org/C96146094","wikidata":"https://www.wikidata.org/wiki/Q609057","display_name":"Unification","level":2,"score":0.541355550289154},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.5331987738609314},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.4994313716888428},{"id":"https://openalex.org/C121329065","wikidata":"https://www.wikidata.org/wiki/Q185612","display_name":"Regular expression","level":2,"score":0.49445009231567383},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.4823693335056305},{"id":"https://openalex.org/C136197465","wikidata":"https://www.wikidata.org/wiki/Q1729295","display_name":"Variety (cybernetics)","level":2,"score":0.474680632352829},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.4104093909263611},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3635021448135376}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3421472","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3421472","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3421472","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3421472","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3421472","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3421472","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3012611775.pdf","grobid_xml":"https://content.openalex.org/works/W3012611775.grobid-xml"},"referenced_works_count":113,"referenced_works":["https://openalex.org/W163539143","https://openalex.org/W165943180","https://openalex.org/W1490621049","https://openalex.org/W1533493347","https://openalex.org/W1537343097","https://openalex.org/W1549804464","https://openalex.org/W1553894716","https://openalex.org/W1555637434","https://openalex.org/W1556536463","https://openalex.org/W1557561422","https://openalex.org/W1559945648","https://openalex.org/W1578878051","https://openalex.org/W1583055368","https://openalex.org/W1703087989","https://openalex.org/W1710734607","https://openalex.org/W1744150050","https://openalex.org/W1779315440","https://openalex.org/W1825457006","https://openalex.org/W1850047186","https://openalex.org/W1900874062","https://openalex.org/W1945229733","https://openalex.org/W1969064066","https://openalex.org/W1970219979","https://openalex.org/W1971373556","https://openalex.org/W1978692906","https://openalex.org/W1985774614","https://openalex.org/W1989642656","https://openalex.org/W1993794314","https://openalex.org/W2007181618","https://openalex.org/W2011458734","https://openalex.org/W2019376542","https://openalex.org/W2027657506","https://openalex.org/W2030611910","https://openalex.org/W2033531910","https://openalex.org/W2036676170","https://openalex.org/W2051328776","https://openalex.org/W2051981528","https://openalex.org/W2055818134","https://openalex.org/W2058279444","https://openalex.org/W2061285335","https://openalex.org/W2067872353","https://openalex.org/W2068457689","https://openalex.org/W2076290291","https://openalex.org/W2081992169","https://openalex.org/W2084175640","https://openalex.org/W2088105804","https://openalex.org/W2096449544","https://openalex.org/W2098456636","https://openalex.org/W2100738443","https://openalex.org/W2107089133","https://openalex.org/W2110311336","https://openalex.org/W2113722134","https://openalex.org/W2115875619","https://openalex.org/W2120138937","https://openalex.org/W2121423324","https://openalex.org/W2126421682","https://openalex.org/W2131135493","https://openalex.org/W2133128124","https://openalex.org/W2140647971","https://openalex.org/W2141843850","https://openalex.org/W2147671787","https://openalex.org/W2150998213","https://openalex.org/W2162604396","https://openalex.org/W2163976959","https://openalex.org/W2166129645","https://openalex.org/W2166822586","https://openalex.org/W2213418347","https://openalex.org/W2250787296","https://openalex.org/W2296467253","https://openalex.org/W2302344383","https://openalex.org/W2330908417","https://openalex.org/W2414762192","https://openalex.org/W2441512324","https://openalex.org/W2533070090","https://openalex.org/W2563592207","https://openalex.org/W2565684518","https://openalex.org/W2756283368","https://openalex.org/W2761620348","https://openalex.org/W2780762329","https://openalex.org/W2794527728","https://openalex.org/W2796564118","https://openalex.org/W2886069053","https://openalex.org/W2890012470","https://openalex.org/W2912195838","https://openalex.org/W2950327322","https://openalex.org/W2963145229","https://openalex.org/W2999267914","https://openalex.org/W2999399510","https://openalex.org/W3005061521","https://openalex.org/W3005302725","https://openalex.org/W3008834557","https://openalex.org/W3009635326","https://openalex.org/W3010001255","https://openalex.org/W3014903559","https://openalex.org/W3016422245","https://openalex.org/W3016667857","https://openalex.org/W3019929673","https://openalex.org/W3035588407","https://openalex.org/W3093453896","https://openalex.org/W3106373601","https://openalex.org/W3163132554","https://openalex.org/W4214583996","https://openalex.org/W4229981596","https://openalex.org/W4231140081","https://openalex.org/W4234020632","https://openalex.org/W4235122555","https://openalex.org/W4237159548","https://openalex.org/W4237492309","https://openalex.org/W4238083723","https://openalex.org/W4240837084","https://openalex.org/W4241859141","https://openalex.org/W4249075482","https://openalex.org/W4255006224"],"related_works":["https://openalex.org/W4246925412","https://openalex.org/W2031647786","https://openalex.org/W1886401053","https://openalex.org/W2112263414","https://openalex.org/W1602185604","https://openalex.org/W3004782279","https://openalex.org/W1550049051","https://openalex.org/W2028779182","https://openalex.org/W2095136535","https://openalex.org/W2005083846"],"abstract_inverted_index":{"Type":[0],"inference":[1,49],"is":[2,6,51,67,88,166],"a":[3,9,41,45,71,115,131,167,171,231],"feature":[4],"that":[5,73,89,118],"common":[7],"to":[8,40,69,105],"variety":[10,232],"of":[11,58,77,136,143,191,216,233],"programming":[12],"languages.":[13],"While,":[14],"in":[15,23,55,130,151,182],"the":[16,56,75,122,141],"past,":[17],"it":[18,62,66,165],"has":[19],"been":[20],"prominently":[21],"present":[22,114],"functional":[24],"ones":[25],"(e.g.,":[26],"ML":[27],"and":[28,37,127,156,160,203,209,221,239,249],"Haskell),":[29],"today,":[30],"many":[31],"object-oriented/multi-paradigm":[32],"languages":[33],"such":[34,44,245],"as":[35,246],"C#":[36],"C++":[38],"offer,":[39],"certain":[42],"extent,":[43],"feature.":[46],"Nevertheless,":[47],"type":[48,108],"still":[50],"an":[52,134,214],"unexplored":[53],"subject":[54],"realm":[57],"C.":[59],"In":[60,110],"particular,":[61],"remains":[63],"open":[64],"whether":[65],"possible":[68],"devise":[70],"technique":[72,227],"encompasses":[74],"idiosyncrasies":[76],"this":[78,86,111],"language.":[79],"The":[80],"first":[81],"difficulty":[82],"encountered":[83],"when":[84],"tackling":[85],"problem":[87],"parsing":[90],"C":[91,234],"requires,":[92],"not":[93],"only":[94],"syntactic,":[95],"but":[96],"also":[97],"semantic":[98],"information.":[99],"Yet,":[100],"greater":[101],"challenges":[102],"emerge":[103],"due":[104],"C\u2019s":[106],"intricate":[107],"system.":[109],"work,":[112],"we":[113,139],"unification-based":[116],"framework":[117],"lets":[119],"us":[120],"infer":[121],"missing":[123],"struct,":[124],"union,":[125],"enum,":[126],"typedef":[128],"declarations":[129],"program.":[132],"As":[133],"application":[135],"our":[137,226],"technique,":[138],"investigate":[140],"reconstruction":[142],"partial":[144],"programs.":[145],"Incomplete":[146],"source":[147],"code":[148,207,229],"naturally":[149],"appears":[150],"software":[152],"development:":[153],"during":[154],"design":[155],"while":[157],"evolving,":[158],"testing,":[159],"analyzing":[161],"programs;":[162],"therefore,":[163],"understanding":[164],"valuable":[168],"asset.":[169],"With":[170],"reconstructed":[172],"well-typed":[173],"program,":[174],"one":[175],"can:":[176],"(i)":[177],"enable":[178],"static":[179,194],"analysis":[180,195],"tools":[181,205],"scenarios":[183],"where":[184],"components":[185],"are":[186],"absent;":[187],"(ii)":[188],"improve":[189],"precision":[190],"\u201czero":[192],"setup\u201d":[193],"tools;":[196],"(iii)":[197],"apply":[198],"stub":[199],"generators,":[200],"symbolic":[201],"executors,":[202],"testing":[204],"on":[206,228,240],"snippets;":[208],"(iv)":[210],"provide":[211],"engineers":[212],"with":[213],"assortment":[215],"compilable":[217],"benchmarks":[218],"for":[219],"performance":[220],"correctness":[222],"validation.":[223],"We":[224],"evaluate":[225],"from":[230,242],"libraries,":[235],"including":[236],"GNU\u2019s":[237],"Coreutils":[238],"snippets":[241],"popular":[243],"projects":[244],"CPython,":[247],"FreeBSD,":[248],"Git.":[250]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":2},{"year":2022,"cited_by_count":3}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
