{"id":"https://openalex.org/W2157976942","doi":"https://doi.org/10.1145/2491956.2462192","title":"Complete completion using types and weights","display_name":"Complete completion using types and weights","publication_year":2013,"publication_date":"2013-06-11","ids":{"openalex":"https://openalex.org/W2157976942","doi":"https://doi.org/10.1145/2491956.2462192","mag":"2157976942"},"language":"en","primary_location":{"id":"doi:10.1145/2491956.2462192","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2491956.2462192","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"http://infoscience.epfl.ch/record/182807","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5051155440","display_name":"Tihomir Gvero","orcid":null},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Tihomir Gvero","raw_affiliation_strings":["Ecole Polytechnique Federale de Lausanne (EPFL), Lausanne, Switzerland"],"affiliations":[{"raw_affiliation_string":"Ecole Polytechnique Federale de Lausanne (EPFL), Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5008699657","display_name":"Viktor Kun\u010dak","orcid":"https://orcid.org/0000-0001-7044-9522"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Viktor Kuncak","raw_affiliation_strings":["Ecole Polytechnique Federale de Lausanne (EPFL), Lausanne, Switzerland"],"affiliations":[{"raw_affiliation_string":"Ecole Polytechnique Federale de Lausanne (EPFL), Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5060646261","display_name":"Ivan Kuraj","orcid":null},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Ivan Kuraj","raw_affiliation_strings":["Ecole Polytechnique Federale de Lausanne (EPFL), Lausanne, Switzerland"],"affiliations":[{"raw_affiliation_string":"Ecole Polytechnique Federale de Lausanne (EPFL), Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5045794652","display_name":"Ru\u017eica Piska\u010d","orcid":"https://orcid.org/0000-0002-3267-0776"},"institutions":[{"id":"https://openalex.org/I4210121786","display_name":"Max Planck Institute for Software Systems","ror":"https://ror.org/02pe2kf23","country_code":"DE","type":"facility","lineage":["https://openalex.org/I149899117","https://openalex.org/I4210121786"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Ruzica Piskac","raw_affiliation_strings":["Max Planck Institute for Software Systems (MPI-SWS), Saarbrucken, Germany"],"affiliations":[{"raw_affiliation_string":"Max Planck Institute for Software Systems (MPI-SWS), Saarbrucken, Germany","institution_ids":["https://openalex.org/I4210121786"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5051155440"],"corresponding_institution_ids":["https://openalex.org/I5124864"],"apc_list":null,"apc_paid":null,"fwci":30.652,"has_fulltext":false,"cited_by_count":135,"citation_normalized_percentile":{"value":0.99690647,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"27","last_page":"38"},"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.9994000196456909,"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.9994000196456909,"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.9988999962806702,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9771999716758728,"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.7721191644668579},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6585620641708374},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.6426835060119629},{"id":"https://openalex.org/keywords/plug-in","display_name":"Plug-in","score":0.6040173768997192},{"id":"https://openalex.org/keywords/equivalence","display_name":"Equivalence (formal languages)","score":0.5304412841796875},{"id":"https://openalex.org/keywords/lambda-calculus","display_name":"Lambda calculus","score":0.502612829208374},{"id":"https://openalex.org/keywords/representation","display_name":"Representation (politics)","score":0.49196645617485046},{"id":"https://openalex.org/keywords/eclipse","display_name":"Eclipse","score":0.4885348081588745},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.4880720376968384},{"id":"https://openalex.org/keywords/dependent-type","display_name":"Dependent type","score":0.4594342112541199},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4495290517807007},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4237838089466095},{"id":"https://openalex.org/keywords/point","display_name":"Point (geometry)","score":0.4180845022201538},{"id":"https://openalex.org/keywords/rank","display_name":"Rank (graph theory)","score":0.4136744439601898},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.242219477891922},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.2020730972290039},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.19932320713996887},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.14060673117637634},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.11778947710990906}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7721191644668579},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6585620641708374},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.6426835060119629},{"id":"https://openalex.org/C4924752","wikidata":"https://www.wikidata.org/wiki/Q184148","display_name":"Plug-in","level":2,"score":0.6040173768997192},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.5304412841796875},{"id":"https://openalex.org/C135790938","wikidata":"https://www.wikidata.org/wiki/Q242028","display_name":"Lambda calculus","level":2,"score":0.502612829208374},{"id":"https://openalex.org/C2776359362","wikidata":"https://www.wikidata.org/wiki/Q2145286","display_name":"Representation (politics)","level":3,"score":0.49196645617485046},{"id":"https://openalex.org/C2778505590","wikidata":"https://www.wikidata.org/wiki/Q141022","display_name":"Eclipse","level":2,"score":0.4885348081588745},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.4880720376968384},{"id":"https://openalex.org/C20528804","wikidata":"https://www.wikidata.org/wiki/Q997433","display_name":"Dependent type","level":3,"score":0.4594342112541199},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4495290517807007},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4237838089466095},{"id":"https://openalex.org/C28719098","wikidata":"https://www.wikidata.org/wiki/Q44946","display_name":"Point (geometry)","level":2,"score":0.4180845022201538},{"id":"https://openalex.org/C164226766","wikidata":"https://www.wikidata.org/wiki/Q7293202","display_name":"Rank (graph theory)","level":2,"score":0.4136744439601898},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.242219477891922},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.2020730972290039},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.19932320713996887},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.14060673117637634},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.11778947710990906},{"id":"https://openalex.org/C1276947","wikidata":"https://www.wikidata.org/wiki/Q333","display_name":"Astronomy","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","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/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.0},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C94625758","wikidata":"https://www.wikidata.org/wiki/Q7163","display_name":"Politics","level":2,"score":0.0}],"mesh":[],"locations_count":8,"locations":[{"id":"doi:10.1145/2491956.2462192","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2491956.2462192","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.299.1849","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.299.1849","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://lara.epfl.ch/~kuncak/papers/GveroETAL13CompleteCompletionTypesWeights.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.309.213","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.309.213","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"text"},{"id":"pmh:oai:infoscience.epfl.ch:182807","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/182807","pdf_url":null,"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":"","raw_type":"Text"},{"id":"pmh:oai:infoscience.epfl.ch:188990","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/188990","pdf_url":null,"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":"","raw_type":"Text"},{"id":"pmh:oai:infoscience.tind.io:182807","is_oa":true,"landing_page_url":"https://infoscience.epfl.ch/handle/20.500.14299/87449","pdf_url":null,"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":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"report"},{"id":"pmh:oai:infoscience.tind.io:188990","is_oa":true,"landing_page_url":"https://infoscience.epfl.ch/handle/20.500.14299/95243","pdf_url":null,"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":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"conference proceedings"},{"id":"pmh:oai:pure.mpg.de:item_2173605","is_oa":false,"landing_page_url":"http://hdl.handle.net/11858/00-001M-0000-0027-F81F-0","pdf_url":null,"source":{"id":"https://openalex.org/S4306400654","display_name":"MPG.PuRe (Max Planck Society)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I149899117","host_organization_name":"Max Planck Society","host_organization_lineage":["https://openalex.org/I149899117"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"PLDI'13","raw_type":"info:eu-repo/semantics/conferenceObject"}],"best_oa_location":{"id":"pmh:oai:infoscience.epfl.ch:182807","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/182807","pdf_url":null,"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":"","raw_type":"Text"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":27,"referenced_works":["https://openalex.org/W153855119","https://openalex.org/W1494812539","https://openalex.org/W1514516864","https://openalex.org/W1519382205","https://openalex.org/W1544048926","https://openalex.org/W1549970146","https://openalex.org/W1553445265","https://openalex.org/W1558175043","https://openalex.org/W1588986231","https://openalex.org/W1603295320","https://openalex.org/W1604435911","https://openalex.org/W1650556305","https://openalex.org/W1970607969","https://openalex.org/W1991670662","https://openalex.org/W2032433324","https://openalex.org/W2044758536","https://openalex.org/W2056139220","https://openalex.org/W2097335450","https://openalex.org/W2106259924","https://openalex.org/W2135683026","https://openalex.org/W2144778998","https://openalex.org/W2153943889","https://openalex.org/W2169952536","https://openalex.org/W2293033107","https://openalex.org/W4232188856","https://openalex.org/W6629571972","https://openalex.org/W6683430881"],"related_works":["https://openalex.org/W3097949243","https://openalex.org/W3183057487","https://openalex.org/W1874450173","https://openalex.org/W143759661","https://openalex.org/W3194114828","https://openalex.org/W1987927267","https://openalex.org/W3091937109","https://openalex.org/W1992310464","https://openalex.org/W119268553","https://openalex.org/W2802248566"],"abstract_inverted_index":{"Developing":[0],"modern":[1],"software":[2],"typically":[3],"involves":[4],"composing":[5],"functionality":[6],"from":[7,106,147],"existing":[8],"libraries.":[9],"This":[10],"task":[11],"is":[12],"difficult":[13],"because":[14],"libraries":[15],"may":[16],"expose":[17],"many":[18],"methods":[19],"to":[20,80,99],"the":[21,49,82,113,122,130,136,139],"developer.":[22],"To":[23],"help":[24],"developers":[25],"in":[26,62],"such":[27],"scenarios,":[28],"we":[29,54,95,132,150],"present":[30],"a":[31,40,44,68,97,107,119],"technique":[32,53],"that":[33,74,129],"synthesizes":[34],"and":[35,115],"suggests":[36],"valid":[37],"expressions":[38],"of":[39,51,90,109,138],"given":[41,45],"type":[42,56,72],"at":[43],"program":[46],"point.":[47],"As":[48],"basis":[50],"our":[52],"use":[55],"inhabitation":[57],"for":[58,71,121,125,154],"lambda":[59],"calculus":[60],"terms":[61],"long":[63],"normal":[64],"form.":[65],"We":[66,111,127],"introduce":[67,96],"succinct":[69],"representation":[70],"judgements":[73],"merges":[75],"types":[76],"into":[77],"equivalence":[78],"classes":[79],"reduce":[81],"search":[83],"space,":[84],"then":[85],"reconstructs":[86],"any":[87],"desired":[88],"number":[89],"solutions":[91,101],"on":[92,103],"demand.":[93],"Furthermore,":[94],"method":[98],"rank":[100],"based":[102],"weights":[104],"derived":[105],"corpus":[108],"code.":[110],"implemented":[112],"algorithm":[114],"deployed":[116],"it":[117],"as":[118],"plugin":[120],"Eclipse":[123],"IDE":[124],"Scala.":[126],"show":[128],"techniques":[131],"incorporated":[133],"greatly":[134],"increase":[135],"effectiveness":[137],"approach.":[140],"Our":[141],"evaluation":[142],"benchmarks":[143],"are":[144],"code":[145],"examples":[146],"programming":[148],"practice;":[149],"make":[151],"them":[152],"available":[153],"future":[155],"comparisons.":[156]},"counts_by_year":[{"year":2025,"cited_by_count":7},{"year":2024,"cited_by_count":6},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":8},{"year":2020,"cited_by_count":15},{"year":2019,"cited_by_count":11},{"year":2018,"cited_by_count":9},{"year":2017,"cited_by_count":14},{"year":2016,"cited_by_count":19},{"year":2015,"cited_by_count":24},{"year":2014,"cited_by_count":11},{"year":2013,"cited_by_count":8}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
