{"id":"https://openalex.org/W2053553588","doi":"https://doi.org/10.1007/s10990-011-9070-3","title":"Improving type error messages for generic Java","display_name":"Improving type error messages for generic Java","publication_year":2011,"publication_date":"2011-06-01","ids":{"openalex":"https://openalex.org/W2053553588","doi":"https://doi.org/10.1007/s10990-011-9070-3","mag":"2053553588"},"language":"en","primary_location":{"id":"doi:10.1007/s10990-011-9070-3","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10990-011-9070-3","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10990-011-9070-3.pdf","source":{"id":"https://openalex.org/S4210228303","display_name":"LISP and Symbolic Computation","issn_l":"0892-4635","issn":["0892-4635","1573-0557"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Higher-Order and Symbolic Computation","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://link.springer.com/content/pdf/10.1007/s10990-011-9070-3.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5082430417","display_name":"Nabil El Boustani","orcid":null},"institutions":[{"id":"https://openalex.org/I193662353","display_name":"Utrecht University","ror":"https://ror.org/04pp8hn57","country_code":"NL","type":"education","lineage":["https://openalex.org/I193662353"]}],"countries":["NL"],"is_corresponding":true,"raw_author_name":"Nabil el Boustani","raw_affiliation_strings":["Center for Software Technology, Department of Information and Computing Sciences, Universiteit Utrecht, P.O. Box 80.089, 3508 TB, Utrecht, The Netherlands","Center for Software Technology, Department of Information and Computing Sciences, Universiteit Utrecht, Utrecht, The Netherlands 3508 TB"],"affiliations":[{"raw_affiliation_string":"Center for Software Technology, Department of Information and Computing Sciences, Universiteit Utrecht, P.O. Box 80.089, 3508 TB, Utrecht, The Netherlands","institution_ids":["https://openalex.org/I193662353"]},{"raw_affiliation_string":"Center for Software Technology, Department of Information and Computing Sciences, Universiteit Utrecht, Utrecht, The Netherlands 3508 TB","institution_ids":["https://openalex.org/I193662353"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5101615144","display_name":"Jurriaan Hage","orcid":"https://orcid.org/0000-0002-3580-6069"},"institutions":[{"id":"https://openalex.org/I193662353","display_name":"Utrecht University","ror":"https://ror.org/04pp8hn57","country_code":"NL","type":"education","lineage":["https://openalex.org/I193662353"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Jurriaan Hage","raw_affiliation_strings":["Center for Software Technology, Department of Information and Computing Sciences, Universiteit Utrecht, P.O. Box 80.089, 3508 TB, Utrecht, The Netherlands","Center for Software Technology, Department of Information and Computing Sciences, Universiteit Utrecht, Utrecht, The Netherlands 3508 TB"],"affiliations":[{"raw_affiliation_string":"Center for Software Technology, Department of Information and Computing Sciences, Universiteit Utrecht, P.O. Box 80.089, 3508 TB, Utrecht, The Netherlands","institution_ids":["https://openalex.org/I193662353"]},{"raw_affiliation_string":"Center for Software Technology, Department of Information and Computing Sciences, Universiteit Utrecht, Utrecht, The Netherlands 3508 TB","institution_ids":["https://openalex.org/I193662353"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5082430417"],"corresponding_institution_ids":["https://openalex.org/I193662353"],"apc_list":null,"apc_paid":null,"fwci":3.0368,"has_fulltext":true,"cited_by_count":10,"citation_normalized_percentile":{"value":0.91739956,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"24","issue":"1-2","first_page":"3","last_page":"39"},"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.9998999834060669,"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.9998999834060669,"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.9962000250816345,"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.9954000115394592,"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.8428990244865417},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.7677796483039856},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7579294443130493},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.6368665099143982},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6163735389709473},{"id":"https://openalex.org/keywords/java-modeling-language","display_name":"Java Modeling Language","score":0.5409955978393555},{"id":"https://openalex.org/keywords/generics-in-java","display_name":"Generics in Java","score":0.4820598065853119},{"id":"https://openalex.org/keywords/java-concurrency","display_name":"Java concurrency","score":0.3991646468639374},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.37484389543533325},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.3559810519218445},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.31848371028900146},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.16817516088485718}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8428990244865417},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7677796483039856},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7579294443130493},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.6368665099143982},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6163735389709473},{"id":"https://openalex.org/C60945770","wikidata":"https://www.wikidata.org/wiki/Q2517517","display_name":"Java Modeling Language","level":5,"score":0.5409955978393555},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.4820598065853119},{"id":"https://openalex.org/C181907185","wikidata":"https://www.wikidata.org/wiki/Q1100098","display_name":"Java concurrency","level":4,"score":0.3991646468639374},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.37484389543533325},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.3559810519218445},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.31848371028900146},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.16817516088485718}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1007/s10990-011-9070-3","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10990-011-9070-3","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10990-011-9070-3.pdf","source":{"id":"https://openalex.org/S4210228303","display_name":"LISP and Symbolic Computation","issn_l":"0892-4635","issn":["0892-4635","1573-0557"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Higher-Order and Symbolic Computation","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1007/s10990-011-9070-3","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10990-011-9070-3","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10990-011-9070-3.pdf","source":{"id":"https://openalex.org/S4210228303","display_name":"LISP and Symbolic Computation","issn_l":"0892-4635","issn":["0892-4635","1573-0557"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Higher-Order and Symbolic Computation","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2053553588.pdf","grobid_xml":"https://content.openalex.org/works/W2053553588.grobid-xml"},"referenced_works_count":37,"referenced_works":["https://openalex.org/W78774630","https://openalex.org/W176902785","https://openalex.org/W194677851","https://openalex.org/W205132464","https://openalex.org/W824016652","https://openalex.org/W1520478494","https://openalex.org/W1534993236","https://openalex.org/W1561051340","https://openalex.org/W1568497055","https://openalex.org/W1876174594","https://openalex.org/W1972445726","https://openalex.org/W1997150177","https://openalex.org/W2033485121","https://openalex.org/W2035089158","https://openalex.org/W2039120330","https://openalex.org/W2045313089","https://openalex.org/W2056310485","https://openalex.org/W2062727459","https://openalex.org/W2068336423","https://openalex.org/W2070821087","https://openalex.org/W2118300983","https://openalex.org/W2122410182","https://openalex.org/W2122537103","https://openalex.org/W2131809313","https://openalex.org/W2143417137","https://openalex.org/W2147609113","https://openalex.org/W2162295022","https://openalex.org/W2163976959","https://openalex.org/W2166414999","https://openalex.org/W2166822586","https://openalex.org/W2168280960","https://openalex.org/W2170257749","https://openalex.org/W2187961666","https://openalex.org/W2984008781","https://openalex.org/W4230662430","https://openalex.org/W4247366236","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2541866089","https://openalex.org/W2547095320","https://openalex.org/W3172992491","https://openalex.org/W1572758480","https://openalex.org/W1519944186","https://openalex.org/W2181544444","https://openalex.org/W1974508891","https://openalex.org/W2035709547","https://openalex.org/W4297798586","https://openalex.org/W3006019133"],"abstract_inverted_index":{"Since":[0],"version":[1],"1.5,":[2],"generics":[3],"(parametric":[4],"polymorphism)":[5],"are":[6],"part":[7],"of":[8,15,45,82,111],"the":[9,13,29,42,54,70,78,94,112,122,138],"Java":[10,31,83,141],"language.":[11],"However,":[12],"combination":[14],"parametric":[16],"polymorphism":[17,20],"and":[18,35],"inclusion":[19],"is":[21,117],"complicated,":[22],"particularly":[23],"so":[24],"for":[25,89,124],"Generic":[26],"Java.":[27],"Indeed,":[28],"main":[30],"compilers,":[32],"Eclipse\u2019s":[33],"ejc":[34],"Sun\u2019s":[36],"javac,":[37],"do":[38],"not":[39],"even":[40],"accept":[41],"same":[43],"set":[44],"programs.":[46],"Moreover,":[47],"experience":[48],"with":[49],"these":[50],"compilers":[51],"shows":[52],"that":[53,118],"error":[55,87,103],"messages":[56,104],"provided":[57],"by":[58,96],"them":[59],"leave":[60],"more":[61],"than":[62],"a":[63],"little":[64],"to":[65,76,84,100,105],"be":[66],"desired.":[67],"To":[68],"alleviate":[69],"latter":[71],"problem,":[72],"we":[73],"describe":[74],"how":[75],"adapt":[77],"type":[79,102,114],"inference":[80,115],"process":[81,116],"obtain":[85],"better":[86],"diagnostics":[88],"generic":[90],"method":[91],"invocations.":[92],"Although":[93],"extension":[95,133],"itself":[97],"already":[98],"helps":[99],"improve":[101],"some":[106],"extent,":[107],"another":[108],"major":[109],"advantage":[110],"new":[113],"it":[119],"also":[120],"paves":[121],"way":[123],"further":[125],"heuristics":[126],"can":[127],"provide":[128],"additional":[129],"diagnostic":[130],"information.":[131],"The":[132],"has":[134],"been":[135],"implemented":[136],"into":[137],"JastAdd":[139],"Extensible":[140],"Compiler.":[142]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":4}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
