{"id":"https://openalex.org/W4390604815","doi":"https://doi.org/10.1145/3632910","title":"Total Type Error Localization and Recovery with Holes","display_name":"Total Type Error Localization and Recovery with Holes","publication_year":2024,"publication_date":"2024-01-02","ids":{"openalex":"https://openalex.org/W4390604815","doi":"https://doi.org/10.1145/3632910"},"language":"en","primary_location":{"id":"doi:10.1145/3632910","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632910","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632910","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3632910","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5038631529","display_name":"Eric Zhao","orcid":"https://orcid.org/0009-0000-4969-2376"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Eric Zhao","raw_affiliation_strings":["University of Michigan, Ann Arbor, USA"],"affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5093660731","display_name":"Raef Maroof","orcid":"https://orcid.org/0009-0004-5097-6519"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Raef Maroof","raw_affiliation_strings":["University of Michigan, Ann Arbor, USA"],"affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5102770252","display_name":"A Ambedkar Dukkipati","orcid":"https://orcid.org/0009-0000-3141-9144"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Anand Dukkipati","raw_affiliation_strings":["University of Michigan, Ann Arbor, USA"],"affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5014846752","display_name":"Andrew Blinn","orcid":"https://orcid.org/0000-0001-6938-7379"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Andrew Blinn","raw_affiliation_strings":["University of Michigan, Ann Arbor, USA"],"affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5057111836","display_name":"Zhiyi Pan","orcid":"https://orcid.org/0009-0001-5141-5666"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Zhiyi Pan","raw_affiliation_strings":["University of Michigan, Ann Arbor, USA"],"affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5001010367","display_name":"Cyrus Omar","orcid":"https://orcid.org/0000-0003-4502-7971"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Cyrus Omar","raw_affiliation_strings":["University of Michigan, Ann Arbor, USA"],"affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5038631529"],"corresponding_institution_ids":["https://openalex.org/I27837315"],"apc_list":null,"apc_paid":null,"fwci":4.0799,"has_fulltext":true,"cited_by_count":12,"citation_normalized_percentile":{"value":0.94215048,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":"8","issue":"POPL","first_page":"2041","last_page":"2068"},"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.9914000034332275,"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/T11986","display_name":"Scientific Computing and Data Management","score":0.9818999767303467,"subfield":{"id":"https://openalex.org/subfields/1802","display_name":"Information Systems and Management"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.8228592872619629},{"id":"https://openalex.org/keywords/typed-lambda-calculus","display_name":"Typed lambda calculus","score":0.7640852928161621},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.6398435235023499},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6103441119194031},{"id":"https://openalex.org/keywords/unification","display_name":"Unification","score":0.606418788433075},{"id":"https://openalex.org/keywords/dependent-type","display_name":"Dependent type","score":0.5948466062545776},{"id":"https://openalex.org/keywords/simply-typed-lambda-calculus","display_name":"Simply typed lambda calculus","score":0.5857723951339722},{"id":"https://openalex.org/keywords/expression","display_name":"Expression (computer science)","score":0.5704692006111145},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4911658465862274},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.4899875223636627},{"id":"https://openalex.org/keywords/constraint","display_name":"Constraint (computer-aided design)","score":0.48705151677131653},{"id":"https://openalex.org/keywords/system-f","display_name":"System F","score":0.46977561712265015},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.4216850996017456},{"id":"https://openalex.org/keywords/logical-framework","display_name":"Logical framework","score":0.41070643067359924},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.393172949552536},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3925062417984009},{"id":"https://openalex.org/keywords/lambda-calculus","display_name":"Lambda calculus","score":0.3392311632633209},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.3112187385559082},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.24363577365875244}],"concepts":[{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.8228592872619629},{"id":"https://openalex.org/C142156749","wikidata":"https://www.wikidata.org/wiki/Q2607208","display_name":"Typed lambda calculus","level":3,"score":0.7640852928161621},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.6398435235023499},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6103441119194031},{"id":"https://openalex.org/C96146094","wikidata":"https://www.wikidata.org/wiki/Q609057","display_name":"Unification","level":2,"score":0.606418788433075},{"id":"https://openalex.org/C20528804","wikidata":"https://www.wikidata.org/wiki/Q997433","display_name":"Dependent type","level":3,"score":0.5948466062545776},{"id":"https://openalex.org/C61237538","wikidata":"https://www.wikidata.org/wiki/Q855192","display_name":"Simply typed lambda calculus","level":4,"score":0.5857723951339722},{"id":"https://openalex.org/C90559484","wikidata":"https://www.wikidata.org/wiki/Q778379","display_name":"Expression (computer science)","level":2,"score":0.5704692006111145},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4911658465862274},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.4899875223636627},{"id":"https://openalex.org/C2776036281","wikidata":"https://www.wikidata.org/wiki/Q48769818","display_name":"Constraint (computer-aided design)","level":2,"score":0.48705151677131653},{"id":"https://openalex.org/C55128367","wikidata":"https://www.wikidata.org/wiki/Q2552799","display_name":"System F","level":3,"score":0.46977561712265015},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.4216850996017456},{"id":"https://openalex.org/C20693621","wikidata":"https://www.wikidata.org/wiki/Q6667502","display_name":"Logical framework","level":2,"score":0.41070643067359924},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.393172949552536},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3925062417984009},{"id":"https://openalex.org/C135790938","wikidata":"https://www.wikidata.org/wiki/Q242028","display_name":"Lambda calculus","level":2,"score":0.3392311632633209},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.3112187385559082},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.24363577365875244},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"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/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3632910","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632910","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632910","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3632910","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632910","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632910","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Peace, Justice and strong institutions","score":0.41999998688697815,"id":"https://metadata.un.org/sdg/16"}],"awards":[{"id":"https://openalex.org/G4476064103","display_name":null,"funder_award_id":"2238744","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8159125644","display_name":null,"funder_award_id":"CCF-2238744","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G848032724","display_name":null,"funder_award_id":"Science","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4390604815.pdf","grobid_xml":"https://content.openalex.org/works/W4390604815.grobid-xml"},"referenced_works_count":46,"referenced_works":["https://openalex.org/W33252908","https://openalex.org/W1557561422","https://openalex.org/W1568497055","https://openalex.org/W1881465144","https://openalex.org/W1970075481","https://openalex.org/W2015725579","https://openalex.org/W2029079408","https://openalex.org/W2036676170","https://openalex.org/W2045041259","https://openalex.org/W2045313089","https://openalex.org/W2055550436","https://openalex.org/W2059895047","https://openalex.org/W2068457689","https://openalex.org/W2070088936","https://openalex.org/W2076653850","https://openalex.org/W2093914811","https://openalex.org/W2098374496","https://openalex.org/W2113112607","https://openalex.org/W2114692640","https://openalex.org/W2124212956","https://openalex.org/W2145108549","https://openalex.org/W2168280960","https://openalex.org/W2284690928","https://openalex.org/W2296599395","https://openalex.org/W2489483223","https://openalex.org/W2604229470","https://openalex.org/W2856615635","https://openalex.org/W2913608592","https://openalex.org/W2963218353","https://openalex.org/W2964296984","https://openalex.org/W2991103711","https://openalex.org/W2996075572","https://openalex.org/W3104645646","https://openalex.org/W3192343331","https://openalex.org/W4230662430","https://openalex.org/W4253716618","https://openalex.org/W4292259593","https://openalex.org/W4294845048","https://openalex.org/W4298474179","https://openalex.org/W4307286006","https://openalex.org/W4310517599","https://openalex.org/W4362659494","https://openalex.org/W4387667108","https://openalex.org/W4388448420","https://openalex.org/W6766954350","https://openalex.org/W6910972500"],"related_works":["https://openalex.org/W3123171335","https://openalex.org/W21537352","https://openalex.org/W4205386752","https://openalex.org/W2027907817","https://openalex.org/W32986836","https://openalex.org/W1983748102","https://openalex.org/W2153353244","https://openalex.org/W2189323991","https://openalex.org/W2112776683","https://openalex.org/W2470817916"],"abstract_inverted_index":{"Type":[0],"systems":[1],"typically":[2],"only":[3],"define":[4,76],"the":[5,23,57,69,103,106,118,208,256],"conditions":[6],"under":[7],"which":[8,32,86,251],"an":[9,223],"expression":[10,205],"is":[11,20,139],"well-typed,":[12],"leaving":[13],"ill-typed":[14],"expressions":[15,82,241],"formally":[16],"meaningless.":[17],"This":[18,51],"approach":[19,176],"insufficient":[21],"as":[22,88,117,183],"basis":[24,120],"for":[25,81,96,121],"language":[26],"servers":[27],"driving":[28],"modern":[29],"programming":[30,127],"environments,":[31],"are":[33,145,199],"expected":[34],"to":[35,43,164,202,227,238,255],"recover":[36],"from":[37,195,244],"simultaneously":[38],"localized":[39,200,221],"errors":[40,237],"and":[41,67,112,204],"continue":[42],"provide":[44],"a":[45,77,93,123,150,184,214],"variety":[46],"of":[47,62,105,153,216],"downstream":[48,240],"semantic":[49],"services.":[50],"paper":[52],"addresses":[53],"this":[54,170,177,188,261],"problem,":[55],"contributing":[56],"first":[58],"comprehensive":[59],"formal":[60],"account":[61],"total":[63,94],"type":[64,79,157,203,248,262],"error":[65,173],"localization":[66,143],"recovery:":[68],"marked":[70,84,107,136],"lambda":[71,108,137],"calculus.":[72],"In":[73],"particular,":[74],"we":[75],"gradual":[78,189],"system":[80,209,215,265],"with":[83,92],"errors,":[85],"operate":[87],"non-empty":[89],"holes,":[90,206],"together":[91],"procedure":[95],"marking":[97],"arbitrary":[98],"unmarked":[99],"expressions.":[100,229],"We":[101,175,259],"mechanize":[102],"metatheory":[104],"calculus":[109,138],"in":[110,166,222,266],"Agda":[111],"implement":[113,260],"it,":[114],"scaled":[115],"up,":[116],"new":[119],"Hazel,":[122],"full-scale":[124],"live":[125],"functional":[126],"environment":[128],"with,":[129],"uniquely,":[130],"no":[131],"meaningless":[132],"editor":[133],"states.":[134],"The":[135,230],"bidirectionally":[140,190],"typed,":[141],"so":[142],"decisions":[144],"systematically":[146],"predictable":[147],"based":[148],"on":[149],"local":[151],"flow":[152],"typing":[154],"information.":[155],"Constraint-based":[156],"inference":[158,264],"can":[159,232],"bring":[160],"more":[161],"distant":[162],"information":[163],"bear":[165],"discovering":[167],"inconsistencies":[168],"but":[169],"notoriously":[171],"complicates":[172],"localization.":[174],"problem":[178],"by":[179,242],"deploying":[180],"constraint":[181],"solving":[182],"type-hole-filling":[185],"layer":[186],"atop":[187],"typed":[191],"core.":[192],"Errors":[193],"arising":[194],"inconsistent":[196],"unification":[197],"constraints":[198],"exclusively":[201],"i.e.,":[207],"identifies":[210],"unfillable":[211],"holes":[212],"using":[213],"traced":[217],"provenances,":[218],"rather":[219],"than":[220],"ad":[224],"hoc":[225],"manner":[226],"particular":[228,239],"user":[231],"then":[233],"interactively":[234],"shift":[235],"these":[236],"selecting":[243],"suggested":[245],"partially":[246],"consistent":[247],"hole":[249,263],"fillings,":[250],"returns":[252],"control":[253],"back":[254],"bidirectional":[257],"system.":[258],"Hazel.":[267]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":8},{"year":2024,"cited_by_count":2}],"updated_date":"2026-04-11T08:14:18.477133","created_date":"2025-10-10T00:00:00"}
