{"id":"https://openalex.org/W2287934881","doi":"https://doi.org/10.5075/epfl-thesis-6741","title":"Decrypting Local Type Inference","display_name":"Decrypting Local Type Inference","publication_year":2015,"publication_date":"2015-12-30","ids":{"openalex":"https://openalex.org/W2287934881","doi":"https://doi.org/10.5075/epfl-thesis-6741","mag":"2287934881"},"language":"en","primary_location":{"id":"pmh:oai:infoscience.tind.io:214757","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/214757","pdf_url":"https://infoscience.epfl.ch/record/214757/files/EPFL_TH6741.pdf","source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"doctoral thesis"},"type":"article","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://infoscience.epfl.ch/record/214757/files/EPFL_TH6741.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5047380871","display_name":"Hubert Plociniczak","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Plociniczak, Hubert","raw_affiliation_strings":[],"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5047380871"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"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.9952999949455261,"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.9952999949455261,"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.9908000230789185,"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/T11424","display_name":"Security and Verification in Computing","score":0.988099992275238,"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/type-inference","display_name":"Type inference","score":0.8860408067703247},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7608044147491455},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.6654033660888672},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.6518259644508362},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6393618583679199},{"id":"https://openalex.org/keywords/heuristics","display_name":"Heuristics","score":0.6338346600532532},{"id":"https://openalex.org/keywords/term","display_name":"Term (time)","score":0.6029959321022034},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.5876773595809937},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4335036277770996},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.4296504259109497},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.41870203614234924},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.416864812374115},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.3409794270992279}],"concepts":[{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.8860408067703247},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7608044147491455},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.6654033660888672},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.6518259644508362},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6393618583679199},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.6338346600532532},{"id":"https://openalex.org/C61797465","wikidata":"https://www.wikidata.org/wiki/Q1188986","display_name":"Term (time)","level":2,"score":0.6029959321022034},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.5876773595809937},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4335036277770996},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.4296504259109497},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.41870203614234924},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.416864812374115},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3409794270992279},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","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},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"pmh:oai:infoscience.tind.io:214757","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/214757","pdf_url":"https://infoscience.epfl.ch/record/214757/files/EPFL_TH6741.pdf","source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"doctoral thesis"},{"id":"doi:10.5075/epfl-thesis-6741","is_oa":true,"landing_page_url":"https://doi.org/10.5075/epfl-thesis-6741","pdf_url":null,"source":{"id":"https://openalex.org/S4306400488","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"thesis"},{"id":"mag:2287934881","is_oa":false,"landing_page_url":"https://infoscience.epfl.ch/record/214757","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":null}],"best_oa_location":{"id":"pmh:oai:infoscience.tind.io:214757","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/214757","pdf_url":"https://infoscience.epfl.ch/record/214757/files/EPFL_TH6741.pdf","source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"doctoral thesis"},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/16","score":0.47999998927116394,"display_name":"Peace, Justice and strong institutions"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2287934881.pdf"},"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W176902785","https://openalex.org/W2886025031","https://openalex.org/W2134093956","https://openalex.org/W2602897444","https://openalex.org/W2128210194","https://openalex.org/W71601957","https://openalex.org/W147652095","https://openalex.org/W2150034903","https://openalex.org/W2171400988","https://openalex.org/W1792651782","https://openalex.org/W2529699941","https://openalex.org/W2568717661","https://openalex.org/W2757480792","https://openalex.org/W2735874758","https://openalex.org/W2117009500","https://openalex.org/W193626754","https://openalex.org/W2249290787","https://openalex.org/W563872716","https://openalex.org/W2310514039","https://openalex.org/W2082769530"],"abstract_inverted_index":{"Statically":[0],"typed":[1],"languages":[2,37,114,461,479],"verify":[3],"programs":[4,401],"at":[5,15],"compile-time.":[6],"As":[7],"a":[8,40,69,94,198,232,256,260,271,337,363],"result":[9],"many":[10,368],"programming":[11,36,113,460],"mistakes":[12],"are":[13,122],"detected":[14],"an":[16,139,248,382],"early":[17],"stage":[18],"of":[19,59,79,105,146,197,226,231,247,259,306,328,339,353,393,424,444,456],"development.":[20],"A":[21,71],"programmer":[22],"does":[23,207],"not":[24,208,253,295],"have":[25],"to":[26,55,64,97,112,152,219,255,290,336,452],"specify":[27],"types":[28,160],"for":[29,68,161,243,300,397,420,433,459],"every":[30],"single":[31],"term":[32],"manually,":[33],"however.":[34],"Many":[35],"can":[38,267,294,376,412],"reconstruct":[39],"term\u00e2":[41],"s":[42,330],"type":[43,45,67,80,99,106,118,127,147,167,261,264,273,308,323,331,350,358,374,384,395,426,457,465],"using":[44],"inference":[46,168,196,309,396],"algorithms.":[47],"While":[48],"helpful,":[49],"programmers":[50],"often":[51],"find":[52],"it":[53,176,201,206],"hard":[54],"comprehend":[56],"the":[57,65,77,126,133,144,154,159,162,166,184,195,221,229,245,317,348,354,388,391,422,431,442,450,454],"choice":[58],"typing":[60,120,155,189],"decisions":[61,101,121,156,190,392],"that":[62,76,115,141,157,180,205,386,418,462,470],"led":[63],"derived":[66],"term.":[70],"particularly":[72],"serious":[73],"consequence":[74],"is":[75,129,177,202,252,361,449,473],"reporting":[78],"errors":[81,458],"yields":[82],"cryptic":[83],"messages":[84],"and":[85,125,186,223,311,370,399,406],"misleading":[86],"program":[87],"locations.":[88],"In":[89],"this":[90,447,471],"thesis":[91,448],"we":[92,181,293,302,380,411,429],"propose":[93],"novel":[95],"approach":[96,110],"explaining":[98],"checking":[100],"by":[102],"exploring":[103],"fragments":[104],"derivation":[107,148,265],"trees.":[108],"Our":[109,170,250,333],"applies":[111,289,335],"use":[116,463],"local":[117,307,394,425,464],"inference:":[119],"made":[123],"locally":[124],"information":[128],"only":[130,182,296],"propagated":[131],"between":[132],"adjacent":[134],"AST":[135],"nodes.":[136],"We":[137,320],"design":[138],"algorithm":[140,171,251,325],"backtracks":[142],"through":[143,390],"nodes":[145,185],"trees":[149,266],"in":[150,194,212,475],"order":[151],"discover":[153],"introduce":[158],"first":[163,451],"time":[164],"during":[165],"process.":[169],"has":[172],"two":[173],"properties:":[174],"-":[175,200,379,403,428],"type-driven,":[178],"meaning":[179,204],"visit":[183],"their":[187,312],"respective":[188],"if":[191],"they":[192],"participated":[193],"type.":[199],"autonomous,":[203],"require":[209],"any":[210],"user-input":[211],"its":[213,277,282],"operation.":[214],"These":[215],"properties":[216],"allow":[217],"us":[218],"identify":[220],"complete":[222],"precise":[224,405],"set":[225],"locations":[227,346,410],"defining":[228],"source":[230,408],"type;":[233],"previous":[234],"work":[235],"mostly":[236],"focussed":[237],"on":[238,326],"heuristics":[239],"or":[240,280,439],"used":[241],"approximations":[242],"locating":[244],"cause":[246],"error.":[249],"tied":[254],"particular":[257],"implementation":[258],"checker:":[262],"our":[263,322,445],"be":[268,377],"reconstructed":[269],"from":[270,366],"pre-existing":[272],"checker":[274],"without":[275,314],"modifying":[276],"internal":[278],"logic":[279],"affecting":[281],"regular":[283],"compilation":[284],"times.":[285],"It":[286,342],"therefore":[287],"readily":[288],"existing":[291],"programs:":[292],"provide":[297],"improved":[298],"feedback":[299,438],"them,":[301],"also":[303,413],"expose":[304],"limitations":[305,423],"algorithms":[310],"implementations,":[313],"artificially":[315],"limiting":[316],"language":[318],"features.":[319],"implement":[321,381],"debugging":[324,359,375],"top":[327],"Scala\u00e2":[329],"checker.":[332],"analysis":[334,360],"range":[338],"erroneous":[340,398],"scenarios.":[341],"provides":[343],"better":[344],"error":[345,351,437],"than":[347,481],"standard":[349],"reporter":[352],"Scala":[355],"compiler.":[356],"This":[357],"just":[362],"starting":[364],"point":[365],"which":[367],"interesting":[369],"useful":[371],"applications":[372],"around":[373],"built:":[378],"interactive":[383],"debugger":[385],"guides":[387],"users":[389],"error-free":[400],"alike.":[402],"with":[404,477],"minimal":[407],"code":[409,416],"offer":[414],"surgical-level":[415],"modifications":[417],"fix":[419],"example":[421],"inference.":[427,466],"open":[430],"door":[432],"programmatically":[434],"defined,":[435],"application-specific":[436],"corrections.":[440],"To":[441],"best":[443],"knowledge":[446],"address":[453],"problem":[455],"Current":[467],"trends":[468],"suggest":[469],"scheme":[472],"gaining":[474],"popularity":[476],"mainstream":[478],"other":[480],"Scala.":[482]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2016,"cited_by_count":1}],"updated_date":"2025-11-06T06:51:31.235846","created_date":"2025-10-10T00:00:00"}
