{"id":"https://openalex.org/W2791679071","doi":"https://doi.org/10.1017/s095679681700020x","title":"Systematic identification and communication of type errors","display_name":"Systematic identification and communication of type errors","publication_year":2018,"publication_date":"2018-01-01","ids":{"openalex":"https://openalex.org/W2791679071","doi":"https://doi.org/10.1017/s095679681700020x","mag":"2791679071"},"language":"en","primary_location":{"id":"doi:10.1017/s095679681700020x","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s095679681700020x","pdf_url":null,"source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-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/A5100321009","display_name":"Sheng Chen","orcid":"https://orcid.org/0000-0003-1735-0704"},"institutions":[{"id":"https://openalex.org/I79516672","display_name":"University of Louisiana at Lafayette","ror":"https://ror.org/01x8rc503","country_code":"US","type":"education","lineage":["https://openalex.org/I2799628689","https://openalex.org/I79516672"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"SHENG CHEN","raw_affiliation_strings":["UL Lafayette (e-mail:"],"affiliations":[{"raw_affiliation_string":"UL Lafayette (e-mail:","institution_ids":["https://openalex.org/I79516672"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5078733350","display_name":"Martin Erwig","orcid":"https://orcid.org/0000-0002-7471-4554"},"institutions":[{"id":"https://openalex.org/I131249849","display_name":"Oregon State University","ror":"https://ror.org/00ysfqy60","country_code":"US","type":"education","lineage":["https://openalex.org/I131249849"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"MARTIN ERWIG","raw_affiliation_strings":["Oregon State University (e-mail:"],"affiliations":[{"raw_affiliation_string":"Oregon State University (e-mail:","institution_ids":["https://openalex.org/I131249849"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5100321009"],"corresponding_institution_ids":["https://openalex.org/I79516672"],"apc_list":null,"apc_paid":null,"fwci":0.7854,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.79244889,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":"28","issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"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.9998999834060669,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9987000226974487,"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"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.984000027179718,"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/computer-science","display_name":"Computer science","score":0.861842930316925},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.7290500402450562},{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.7274034023284912},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.6386655569076538},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.6047117114067078},{"id":"https://openalex.org/keywords/identification","display_name":"Identification (biology)","score":0.5981574654579163},{"id":"https://openalex.org/keywords/task","display_name":"Task (project management)","score":0.5055110454559326},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.45673561096191406},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.44688600301742554},{"id":"https://openalex.org/keywords/cover","display_name":"Cover (algebra)","score":0.4334689676761627},{"id":"https://openalex.org/keywords/error-detection-and-correction","display_name":"Error detection and correction","score":0.43003398180007935},{"id":"https://openalex.org/keywords/expression","display_name":"Expression (computer science)","score":0.42617955803871155},{"id":"https://openalex.org/keywords/data-mining","display_name":"Data mining","score":0.3622235655784607},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.3512363135814667},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.33832794427871704},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3113540709018707},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.28759390115737915}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.861842930316925},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.7290500402450562},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.7274034023284912},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.6386655569076538},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.6047117114067078},{"id":"https://openalex.org/C116834253","wikidata":"https://www.wikidata.org/wiki/Q2039217","display_name":"Identification (biology)","level":2,"score":0.5981574654579163},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.5055110454559326},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.45673561096191406},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.44688600301742554},{"id":"https://openalex.org/C2780428219","wikidata":"https://www.wikidata.org/wiki/Q16952335","display_name":"Cover (algebra)","level":2,"score":0.4334689676761627},{"id":"https://openalex.org/C103088060","wikidata":"https://www.wikidata.org/wiki/Q1062839","display_name":"Error detection and correction","level":2,"score":0.43003398180007935},{"id":"https://openalex.org/C90559484","wikidata":"https://www.wikidata.org/wiki/Q778379","display_name":"Expression (computer science)","level":2,"score":0.42617955803871155},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.3622235655784607},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3512363135814667},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.33832794427871704},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3113540709018707},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.28759390115737915},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C187736073","wikidata":"https://www.wikidata.org/wiki/Q2920921","display_name":"Management","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C59822182","wikidata":"https://www.wikidata.org/wiki/Q441","display_name":"Botany","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},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"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.1017/s095679681700020x","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s095679681700020x","pdf_url":null,"source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":34,"referenced_works":["https://openalex.org/W33252908","https://openalex.org/W77592238","https://openalex.org/W1506661840","https://openalex.org/W1584575784","https://openalex.org/W1604924633","https://openalex.org/W1980574179","https://openalex.org/W1999764179","https://openalex.org/W2011725693","https://openalex.org/W2016954568","https://openalex.org/W2017310809","https://openalex.org/W2026790447","https://openalex.org/W2029079408","https://openalex.org/W2037037228","https://openalex.org/W2045313089","https://openalex.org/W2062727459","https://openalex.org/W2098374496","https://openalex.org/W2106009651","https://openalex.org/W2106799975","https://openalex.org/W2107923385","https://openalex.org/W2114692640","https://openalex.org/W2134093956","https://openalex.org/W2162295022","https://openalex.org/W2166414999","https://openalex.org/W2168280960","https://openalex.org/W2170257749","https://openalex.org/W2203258339","https://openalex.org/W2466268137","https://openalex.org/W2537680118","https://openalex.org/W2762541150","https://openalex.org/W2763702833","https://openalex.org/W2964296984","https://openalex.org/W2996075572","https://openalex.org/W3014343239","https://openalex.org/W6635094594"],"related_works":["https://openalex.org/W4321442002","https://openalex.org/W2015265939","https://openalex.org/W2381031055","https://openalex.org/W1941412300","https://openalex.org/W2366070815","https://openalex.org/W2804371217","https://openalex.org/W4297831890","https://openalex.org/W2963764498","https://openalex.org/W2068383718","https://openalex.org/W4246881098"],"abstract_inverted_index":{"Abstract":[0],"When":[1],"type":[2,15,27,39,54,99,155],"inference":[3],"fails,":[4],"it":[5],"is":[6,29,181,259],"often":[7],"difficult":[8,31],"to":[9,24,34,51,96,150,191],"pinpoint":[10],"the":[11,14,26,35,42,67,75,98,108,154,169,172,182,195,198,206,224,246],"cause":[12],"of":[13,38,58,66,103,137,153,185,197,208,239],"error":[16,28,138,156,159,175,187],"among":[17],"many":[18,46,81],"potential":[19,82],"candidates.":[20],"Generating":[21],"informative":[22,146],"messages":[23,165,221],"remove":[25,97],"another":[30],"task":[32],"due":[33],"limited":[36],"availability":[37],"information.":[40],"Over":[41],"last":[43],"three":[44],"decades":[45],"approaches":[47,257],"have":[48,123,231],"been":[49],"developed":[50,124],"help":[52],"debug":[53],"errors.":[55],"However,":[56],"most":[57,173],"these":[59],"methods":[60],"suffer":[61],"from":[62,242],"one":[63,102],"or":[64,91],"more":[65],"following":[68],"problems:":[69],"(1)":[70,132],"Being":[71],"incomplete,":[72],"they":[73],"miss":[74],"real":[76],"cause.":[77,176],"(2)":[78,143],"They":[79,88],"cover":[80],"causes":[83,139],"without":[84],"distinguishing":[85],"them.":[86],"(3)":[87,162],"provide":[89],"little":[90],"no":[92],"information":[93],"for":[94,157,171,215],"how":[95,149],"error.":[100],"Any":[101],"this":[104,120,202],"problems":[105],"can":[106],"turn":[107],"type-error":[109],"debugging":[110],"process":[111],"into":[112],"a":[113,125,134,236],"tedious":[114],"and":[115,161,166,218,258],"ineffective":[116],"endeavor.":[117],"To":[118],"address":[119,201],"issue,":[121],"we":[122],"method":[126],"named":[127],"counter-factual":[128],"typing":[129,210,223],",":[130],"which":[131,189],"finds":[133],"comprehensive":[135],"set":[136,238],"in":[140,194,245],"AST":[141],"leaves,":[142],"computes":[144],"an":[145],"message":[147,170],"on":[148],"get":[151],"rid":[152],"each":[158],"cause,":[160],"ranks":[163],"all":[164,186,220],"iteratively":[167],"presents":[168],"likely":[174],"The":[177,248],"biggest":[178],"technical":[179],"challenge":[180,203],"efficient":[183],"generation":[184],"messages,":[188],"seems":[190],"be":[192],"exponential":[193],"size":[196],"expression.":[199],"We":[200,230],"by":[204,222],"employing":[205],"idea":[207],"variational":[209],"that":[211,252],"systematically":[212],"reuses":[213],"computations":[214],"shared":[216],"parts":[217],"generates":[219],"whole":[225],"ill-typed":[226],"expression":[227],"only":[228],"once.":[229],"evaluated":[232],"our":[233,253],"approach":[234,254],"over":[235],"large":[237],"examples":[240],"collected":[241],"previous":[243,256],"publications":[244],"literature.":[247],"evaluation":[249],"result":[250],"shows":[251],"outperforms":[255],"computationally":[260],"feasible.":[261]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
