{"id":"https://openalex.org/W4392645437","doi":"https://doi.org/10.1145/3652153","title":"Generating Python Type Annotations from Type Inference: How Far Are We?","display_name":"Generating Python Type Annotations from Type Inference: How Far Are We?","publication_year":2024,"publication_date":"2024-03-11","ids":{"openalex":"https://openalex.org/W4392645437","doi":"https://doi.org/10.1145/3652153"},"language":"en","primary_location":{"id":"doi:10.1145/3652153","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3652153","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3652153","source":{"id":"https://openalex.org/S142627899","display_name":"ACM Transactions on Software Engineering and Methodology","issn_l":"1049-331X","issn":["1049-331X","1557-7392"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Software Engineering and Methodology","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3652153","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5109622635","display_name":"Yimeng Guo","orcid":"https://orcid.org/0000-0001-5678-9061"},"institutions":[{"id":"https://openalex.org/I881766915","display_name":"Nanjing University","ror":"https://ror.org/01rxvg760","country_code":"CN","type":"education","lineage":["https://openalex.org/I881766915"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Yimeng Guo","raw_affiliation_strings":["Nanjing University, Nanjing, China"],"raw_orcid":"https://orcid.org/0000-0001-5678-9061","affiliations":[{"raw_affiliation_string":"Nanjing University, Nanjing, China","institution_ids":["https://openalex.org/I881766915"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101759548","display_name":"Zhifei Chen","orcid":"https://orcid.org/0000-0002-3475-6979"},"institutions":[{"id":"https://openalex.org/I36399199","display_name":"Nanjing University of Science and Technology","ror":"https://ror.org/00xp9wg62","country_code":"CN","type":"education","lineage":["https://openalex.org/I36399199"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Zhifei Chen","raw_affiliation_strings":["Nanjing University of Science and Technology, Nanjing, China"],"raw_orcid":"https://orcid.org/0000-0002-3475-6979","affiliations":[{"raw_affiliation_string":"Nanjing University of Science and Technology, Nanjing, China","institution_ids":["https://openalex.org/I36399199"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100443798","display_name":"Lin Chen","orcid":"https://orcid.org/0000-0003-2352-2226"},"institutions":[{"id":"https://openalex.org/I881766915","display_name":"Nanjing University","ror":"https://ror.org/01rxvg760","country_code":"CN","type":"education","lineage":["https://openalex.org/I881766915"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Lin Chen","raw_affiliation_strings":["Nanjing University, Nanjing, China"],"raw_orcid":"https://orcid.org/0000-0003-2352-2226","affiliations":[{"raw_affiliation_string":"Nanjing University, Nanjing, China","institution_ids":["https://openalex.org/I881766915"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5114506693","display_name":"Wenjie Xu","orcid":"https://orcid.org/0009-0007-1884-7700"},"institutions":[{"id":"https://openalex.org/I881766915","display_name":"Nanjing University","ror":"https://ror.org/01rxvg760","country_code":"CN","type":"education","lineage":["https://openalex.org/I881766915"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Wenjie Xu","raw_affiliation_strings":["Nanjing University, Nanjing, China"],"raw_orcid":"https://orcid.org/0009-0007-1884-7700","affiliations":[{"raw_affiliation_string":"Nanjing University, Nanjing, China","institution_ids":["https://openalex.org/I881766915"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100360608","display_name":"Yanhui Li","orcid":"https://orcid.org/0000-0003-2282-7175"},"institutions":[{"id":"https://openalex.org/I881766915","display_name":"Nanjing University","ror":"https://ror.org/01rxvg760","country_code":"CN","type":"education","lineage":["https://openalex.org/I881766915"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Yanhui Li","raw_affiliation_strings":["Nanjing University, Nanjing, China"],"raw_orcid":"https://orcid.org/0000-0003-2282-7175","affiliations":[{"raw_affiliation_string":"Nanjing University, Nanjing, China","institution_ids":["https://openalex.org/I881766915"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5031391841","display_name":"Yuming Zhou","orcid":"https://orcid.org/0000-0002-4645-2526"},"institutions":[{"id":"https://openalex.org/I881766915","display_name":"Nanjing University","ror":"https://ror.org/01rxvg760","country_code":"CN","type":"education","lineage":["https://openalex.org/I881766915"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Yuming Zhou","raw_affiliation_strings":["Nanjing University, Nanjing, China"],"raw_orcid":"https://orcid.org/0000-0002-4645-2526","affiliations":[{"raw_affiliation_string":"Nanjing University, Nanjing, China","institution_ids":["https://openalex.org/I881766915"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5100331400","display_name":"Baowen Xu","orcid":"https://orcid.org/0000-0001-7743-1296"},"institutions":[{"id":"https://openalex.org/I881766915","display_name":"Nanjing University","ror":"https://ror.org/01rxvg760","country_code":"CN","type":"education","lineage":["https://openalex.org/I881766915"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Baowen Xu","raw_affiliation_strings":["Nanjing University, Nanjing, China"],"raw_orcid":"https://orcid.org/0000-0001-7743-1296","affiliations":[{"raw_affiliation_string":"Nanjing University, Nanjing, China","institution_ids":["https://openalex.org/I881766915"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.1979,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.92479601,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":91,"max":97},"biblio":{"volume":"33","issue":"5","first_page":"1","last_page":"38"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998000264167786,"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.9998000264167786,"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.9872000217437744,"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.9528999924659729,"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.8834347724914551},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.7210819721221924},{"id":"https://openalex.org/keywords/annotation","display_name":"Annotation","score":0.6446542739868164},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.6387786865234375},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.6299120187759399},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.47118499875068665},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4577312767505646},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.42473679780960083},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.42275387048721313},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.37589550018310547},{"id":"https://openalex.org/keywords/data-science","display_name":"Data science","score":0.32059258222579956}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8834347724914551},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.7210819721221924},{"id":"https://openalex.org/C2776321320","wikidata":"https://www.wikidata.org/wiki/Q857525","display_name":"Annotation","level":2,"score":0.6446542739868164},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.6387786865234375},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.6299120187759399},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.47118499875068665},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4577312767505646},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.42473679780960083},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.42275387048721313},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.37589550018310547},{"id":"https://openalex.org/C2522767166","wikidata":"https://www.wikidata.org/wiki/Q2374463","display_name":"Data science","level":1,"score":0.32059258222579956},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3652153","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3652153","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3652153","source":{"id":"https://openalex.org/S142627899","display_name":"ACM Transactions on Software Engineering and Methodology","issn_l":"1049-331X","issn":["1049-331X","1557-7392"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Software Engineering and Methodology","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3652153","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3652153","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3652153","source":{"id":"https://openalex.org/S142627899","display_name":"ACM Transactions on Software Engineering and Methodology","issn_l":"1049-331X","issn":["1049-331X","1557-7392"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Software Engineering and Methodology","raw_type":"journal-article"},"sustainable_development_goals":[{"score":0.4399999976158142,"id":"https://metadata.un.org/sdg/8","display_name":"Decent work and economic growth"}],"awards":[{"id":"https://openalex.org/G2345010575","display_name":null,"funder_award_id":"62172202","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"},{"id":"https://openalex.org/G3135355037","display_name":null,"funder_award_id":"62272221, 62172202, 62172205, 62302222","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"},{"id":"https://openalex.org/G5718290890","display_name":null,"funder_award_id":"62272221","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"},{"id":"https://openalex.org/G5989640592","display_name":null,"funder_award_id":"62302222","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"},{"id":"https://openalex.org/G5997361112","display_name":null,"funder_award_id":"62172205","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"}],"funders":[{"id":"https://openalex.org/F4320321001","display_name":"National Natural Science Foundation of China","ror":"https://ror.org/01h0zpd94"},{"id":"https://openalex.org/F4320324852","display_name":"Nanjing University","ror":"https://ror.org/01rxvg760"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4392645437.pdf","grobid_xml":"https://content.openalex.org/works/W4392645437.grobid-xml"},"referenced_works_count":50,"referenced_works":["https://openalex.org/W202191487","https://openalex.org/W1530151067","https://openalex.org/W1532325895","https://openalex.org/W1736209534","https://openalex.org/W1986899979","https://openalex.org/W2086141560","https://openalex.org/W2110219362","https://openalex.org/W2113888205","https://openalex.org/W2121627172","https://openalex.org/W2129345992","https://openalex.org/W2135536553","https://openalex.org/W2137619003","https://openalex.org/W2142958724","https://openalex.org/W2154809872","https://openalex.org/W2156351739","https://openalex.org/W2348402940","https://openalex.org/W2548165777","https://openalex.org/W2549033012","https://openalex.org/W2617588282","https://openalex.org/W2883903648","https://openalex.org/W2888268504","https://openalex.org/W2899197979","https://openalex.org/W2899384793","https://openalex.org/W2899469232","https://openalex.org/W2954950681","https://openalex.org/W2995502120","https://openalex.org/W3006491415","https://openalex.org/W3014820760","https://openalex.org/W3018033251","https://openalex.org/W3100869085","https://openalex.org/W3105735055","https://openalex.org/W3122109907","https://openalex.org/W3126095862","https://openalex.org/W3133303669","https://openalex.org/W3137596000","https://openalex.org/W3163202066","https://openalex.org/W3173453854","https://openalex.org/W3177164493","https://openalex.org/W3194752080","https://openalex.org/W4205712307","https://openalex.org/W4229717394","https://openalex.org/W4249072346","https://openalex.org/W4284665627","https://openalex.org/W4284685949","https://openalex.org/W4284687350","https://openalex.org/W4287819720","https://openalex.org/W4308643048","https://openalex.org/W4313133034","https://openalex.org/W4313563492","https://openalex.org/W4384337832"],"related_works":["https://openalex.org/W2361861616","https://openalex.org/W2263699433","https://openalex.org/W2341492732","https://openalex.org/W2377979023","https://openalex.org/W3187193180","https://openalex.org/W4297831890","https://openalex.org/W2804371217","https://openalex.org/W2963764498","https://openalex.org/W2068383718","https://openalex.org/W4246881098"],"abstract_inverted_index":{"In":[0,111],"recent":[1],"years,":[2],"dynamic":[3],"languages":[4],"such":[5,85],"as":[6,86],"Python":[7,48],"have":[8,103,154],"become":[9],"popular":[10],"due":[11],"to":[12,117,171,187],"their":[13],"flexibility":[14],"and":[15,34,93,105,148,157,163,214,230],"productivity.":[16],"The":[17],"lack":[18],"of":[19,27,56,76,122,133,146],"static":[20],"typing":[21],"makes":[22],"programs":[23,57],"face":[24],"the":[25,120,173,209,228],"challenges":[26],"fixing":[28],"type":[29,45,69,77,123,128,176,234],"errors,":[30],"early":[31],"bug":[32],"detection,":[33],"code":[35],"understanding.":[36],"To":[37],"alleviate":[38],"these":[39],"issues,":[40],"PEP":[41],"484":[42],"introduced":[43],"optional":[44],"annotations":[46],"for":[47,126],"in":[49,175,195,233],"2014,":[50],"but":[51,184,219],"unfortunately,":[52],"a":[53,137,143,182,200],"large":[54],"number":[55],"are":[58,80],"still":[59],"not":[60],"annotated":[61],"by":[62,82],"developers.":[63],"Annotation":[64],"generation":[65,79],"tools":[66,125,135,153,191,206],"can":[67,109,192,207,238],"utilize":[68],"inference":[70,124],"techniques.":[71],"However,":[72],"several":[73],"important":[74],"aspects":[75],"annotation":[78,177,235],"overlooked":[81],"existing":[83,152,190,205],"works,":[84],"in-depth":[87],"effectiveness":[88,121,156],"analysis,":[89],"potential":[90],"improvement":[91,231],"exploration,":[92],"practicality":[94],"evaluation.":[95],"And":[96],"it":[97],"is":[98],"unclear":[99],"how":[100,106],"far":[101,107],"we":[102,108,114,141,167,180,198],"been":[104],"go.":[110],"this":[112],"paper,":[113],"set":[115,145],"out":[116,227],"comprehensively":[118],"investigate":[119],"generating":[127],"annotations,":[129],"applying":[130],"three":[131],"categories":[132],"state-of-the-art":[134],"on":[136],"carefully-cleaned":[138],"dataset.":[139],"First,":[140],"use":[142],"comprehensive":[144],"metrics":[147],"categories,":[149],"finding":[150],"that":[151,189,204],"different":[155],"cannot":[158,220],"achieve":[159],"both":[160],"high":[161,164],"accuracy":[162],"coverage.":[165],"Then,":[166],"summarize":[168],"six":[169],"patterns":[170],"present":[172],"limitations":[174,229],"generation.":[178],"Next,":[179],"implement":[181],"simple":[183],"effective":[185],"tool":[186],"demonstrate":[188],"be":[193],"improved":[194],"practice.":[196],"Finally,":[197],"conduct":[199],"controlled":[201],"experiment":[202],"showing":[203],"reduce":[208,221],"time":[210],"spent":[211],"annotating":[212],"types":[213],"determine":[215],"more":[216],"precise":[217],"types,":[218],"subjective":[222],"difficulty.":[223],"Our":[224],"findings":[225],"point":[226],"directions":[232],"generation,":[236],"which":[237],"inspire":[239],"future":[240],"work.":[241]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":3}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
