{"id":"https://openalex.org/W3015186665","doi":"https://doi.org/10.1109/saner48275.2020.9054866","title":"Suggesting Comment Completions for Python using Neural Language Models","display_name":"Suggesting Comment Completions for Python using Neural Language Models","publication_year":2020,"publication_date":"2020-02-01","ids":{"openalex":"https://openalex.org/W3015186665","doi":"https://doi.org/10.1109/saner48275.2020.9054866","mag":"3015186665"},"language":"en","primary_location":{"id":"doi:10.1109/saner48275.2020.9054866","is_oa":false,"landing_page_url":"https://doi.org/10.1109/saner48275.2020.9054866","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":null,"any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5073747544","display_name":"Adelina Ciurumelea","orcid":"https://orcid.org/0000-0001-8874-5450"},"institutions":[{"id":"https://openalex.org/I202697423","display_name":"University of Zurich","ror":"https://ror.org/02crff812","country_code":"CH","type":"education","lineage":["https://openalex.org/I202697423"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Adelina Ciurumelea","raw_affiliation_strings":["University of Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"University of Zurich, Switzerland","institution_ids":["https://openalex.org/I202697423"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5003806730","display_name":"Sebastian Proksch","orcid":"https://orcid.org/0000-0003-1856-9361"},"institutions":[{"id":"https://openalex.org/I202697423","display_name":"University of Zurich","ror":"https://ror.org/02crff812","country_code":"CH","type":"education","lineage":["https://openalex.org/I202697423"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Sebastian Proksch","raw_affiliation_strings":["University of Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"University of Zurich, Switzerland","institution_ids":["https://openalex.org/I202697423"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5009436227","display_name":"Harald C. Gall","orcid":"https://orcid.org/0000-0002-3874-5628"},"institutions":[{"id":"https://openalex.org/I202697423","display_name":"University of Zurich","ror":"https://ror.org/02crff812","country_code":"CH","type":"education","lineage":["https://openalex.org/I202697423"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Harald C. Gall","raw_affiliation_strings":["University of Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"University of Zurich, Switzerland","institution_ids":["https://openalex.org/I202697423"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5073747544"],"corresponding_institution_ids":["https://openalex.org/I202697423"],"apc_list":null,"apc_paid":null,"fwci":3.6162,"has_fulltext":false,"cited_by_count":18,"citation_normalized_percentile":{"value":0.93946567,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"456","last_page":"467"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9997000098228455,"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.9997000098228455,"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/T10028","display_name":"Topic Modeling","score":0.9944000244140625,"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/T10181","display_name":"Natural Language Processing Techniques","score":0.9854000210762024,"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.8785734176635742},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.796748161315918},{"id":"https://openalex.org/keywords/automatic-summarization","display_name":"Automatic summarization","score":0.7703883647918701},{"id":"https://openalex.org/keywords/generalizability-theory","display_name":"Generalizability theory","score":0.7317677140235901},{"id":"https://openalex.org/keywords/documentation","display_name":"Documentation","score":0.5793255567550659},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.5479684472084045},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5052619576454163},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4700796902179718},{"id":"https://openalex.org/keywords/scripting-language","display_name":"Scripting language","score":0.457919716835022},{"id":"https://openalex.org/keywords/language-model","display_name":"Language model","score":0.4415643513202667},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.43845996260643005},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.42520755529403687},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.41600358486175537},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.3822261095046997},{"id":"https://openalex.org/keywords/information-retrieval","display_name":"Information retrieval","score":0.36759769916534424},{"id":"https://openalex.org/keywords/data-mining","display_name":"Data mining","score":0.33558791875839233}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8785734176635742},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.796748161315918},{"id":"https://openalex.org/C170858558","wikidata":"https://www.wikidata.org/wiki/Q1394144","display_name":"Automatic summarization","level":2,"score":0.7703883647918701},{"id":"https://openalex.org/C27158222","wikidata":"https://www.wikidata.org/wiki/Q5532422","display_name":"Generalizability theory","level":2,"score":0.7317677140235901},{"id":"https://openalex.org/C56666940","wikidata":"https://www.wikidata.org/wiki/Q788790","display_name":"Documentation","level":2,"score":0.5793255567550659},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5479684472084045},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5052619576454163},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4700796902179718},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.457919716835022},{"id":"https://openalex.org/C137293760","wikidata":"https://www.wikidata.org/wiki/Q3621696","display_name":"Language model","level":2,"score":0.4415643513202667},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.43845996260643005},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.42520755529403687},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.41600358486175537},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.3822261095046997},{"id":"https://openalex.org/C23123220","wikidata":"https://www.wikidata.org/wiki/Q816826","display_name":"Information retrieval","level":1,"score":0.36759769916534424},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.33558791875839233},{"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":3,"locations":[{"id":"doi:10.1109/saner48275.2020.9054866","is_oa":false,"landing_page_url":"https://doi.org/10.1109/saner48275.2020.9054866","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER)","raw_type":"proceedings-article"},{"id":"pmh:oai:www.zora.uzh.ch:196849","is_oa":true,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4306401281","display_name":"Zurich Open Repository and Archive (University of Zurich)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I202697423","host_organization_name":"University of Zurich","host_organization_lineage":["https://openalex.org/I202697423"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"Ciurumelea, Adelina; Proksch, Sebastian; Gall, Harald C  (2020). Suggesting Comment Completions for Python using Neural Language Models.  In: 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER), London, Ontario in Kanada, 18 March 2020 - 21 March 2020. IEEE, 456-467.","raw_type":"Conference or Workshop Item"},{"id":"doi:10.5167/uzh-196849","is_oa":true,"landing_page_url":"https://doi.org/10.5167/uzh-196849","pdf_url":null,"source":{"id":"https://openalex.org/S7407051291","display_name":"Universit\u00e4t Z\u00fcrich, ZORA","issn_l":null,"issn":[],"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":""}],"best_oa_location":{"id":"pmh:oai:www.zora.uzh.ch:196849","is_oa":true,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4306401281","display_name":"Zurich Open Repository and Archive (University of Zurich)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I202697423","host_organization_name":"University of Zurich","host_organization_lineage":["https://openalex.org/I202697423"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"Ciurumelea, Adelina; Proksch, Sebastian; Gall, Harald C  (2020). Suggesting Comment Completions for Python using Neural Language Models.  In: 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER), London, Ontario in Kanada, 18 March 2020 - 21 March 2020. IEEE, 456-467.","raw_type":"Conference or Workshop Item"},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/17","display_name":"Partnerships for the goals","score":0.41999998688697815}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":53,"referenced_works":["https://openalex.org/W179875071","https://openalex.org/W1517055698","https://openalex.org/W1579838312","https://openalex.org/W1614298861","https://openalex.org/W1771830246","https://openalex.org/W1970859802","https://openalex.org/W2043223258","https://openalex.org/W2054288159","https://openalex.org/W2064675550","https://openalex.org/W2070111972","https://openalex.org/W2081749632","https://openalex.org/W2082160726","https://openalex.org/W2090398160","https://openalex.org/W2126793110","https://openalex.org/W2130942839","https://openalex.org/W2133333349","https://openalex.org/W2142403498","https://openalex.org/W2148190602","https://openalex.org/W2157331557","https://openalex.org/W2171928131","https://openalex.org/W2242083635","https://openalex.org/W2516621648","https://openalex.org/W2606089314","https://openalex.org/W2724503592","https://openalex.org/W2784570262","https://openalex.org/W2793439736","https://openalex.org/W2884276923","https://openalex.org/W2890672905","https://openalex.org/W2899384793","https://openalex.org/W2903709763","https://openalex.org/W2921792613","https://openalex.org/W2947160092","https://openalex.org/W2950635152","https://openalex.org/W2954274464","https://openalex.org/W2962784628","https://openalex.org/W2963285578","https://openalex.org/W2964268484","https://openalex.org/W2968771148","https://openalex.org/W2979792666","https://openalex.org/W3145100113","https://openalex.org/W3146720657","https://openalex.org/W4210984920","https://openalex.org/W4252398070","https://openalex.org/W6636510571","https://openalex.org/W6638575559","https://openalex.org/W6679436768","https://openalex.org/W6685562342","https://openalex.org/W6725207838","https://openalex.org/W6748986372","https://openalex.org/W6749270128","https://openalex.org/W6756730223","https://openalex.org/W6760150090","https://openalex.org/W6767059414"],"related_works":["https://openalex.org/W2366403280","https://openalex.org/W2118717649","https://openalex.org/W1495108544","https://openalex.org/W2413243053","https://openalex.org/W410723623","https://openalex.org/W2015341305","https://openalex.org/W2091301346","https://openalex.org/W2035068594","https://openalex.org/W4225593417","https://openalex.org/W1486385073"],"abstract_inverted_index":{"Source-code":[0],"comments":[1,20,27],"are":[2,155],"an":[3],"important":[4,32],"communication":[5],"medium":[6],"between":[7],"developers":[8,40,78],"to":[9,76,102,157],"better":[10],"understand":[11],"and":[12,38,106,146],"maintain":[13],"software.":[14],"Current":[15],"research":[16],"focuses":[17],"on":[18,43,94,112],"auto-generating":[19],"by":[21,139],"summarizing":[22],"the":[23,44,59,86,128,144,147,151,167],"code.":[24],"However,":[25],"good":[26,159],"contain":[28],"additional":[29],"details,":[30],"like":[31,143],"design":[33],"decisions":[34],"or":[35],"required":[36],"trade-offs,":[37],"only":[39],"can":[41,116,136],"decide":[42],"proper":[45],"comment":[46],"content.":[47],"Automated":[48],"summarization":[49],"techniques":[50],"cannot":[51],"include":[52],"information":[53,142],"that":[54],"does":[55],"not":[56],"exist":[57],"in":[58],"code,":[60],"therefore":[61],"fully-automated":[62],"approaches":[63],"while":[64],"helpful,":[65],"will":[66],"be":[67,137],"of":[68,88,98,121,130,150,169],"limited":[69],"use.":[70],"In":[71],"our":[72,170],"work,":[73],"we":[74,115,154],"propose":[75],"empower":[77],"through":[79],"a":[80,95,118],"semi-automated":[81],"system":[82],"instead.":[83],"We":[84],"investigate":[85],"feasibility":[87],"using":[89],"neural":[90],"language":[91],"models":[92,135],"trained":[93],"large":[96],"corpus":[97],"Python":[99],"documentation":[100],"strings":[101],"generate":[103],"completion":[104],"suggestions":[105],"obtain":[107,117],"promising":[108],"results.":[109],"By":[110],"focusing":[111],"confident":[113],"predictions,":[114],"top-3":[119],"accuracy":[120,160],"over":[122],"70%,":[123],"although":[124],"this":[125],"comes":[126],"at":[127],"cost":[129],"lower":[131],"suggestion":[132],"frequency.":[133],"Our":[134],"improved":[138],"leveraging":[140],"context":[141],"signature":[145],"full":[148],"body":[149],"method.":[152],"Additionally,":[153],"able":[156],"return":[158],"completions":[161],"even":[162],"for":[163],"new":[164],"projects,":[165],"suggesting":[166],"generalizability":[168],"approach.":[171]},"counts_by_year":[{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":5},{"year":2022,"cited_by_count":4},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":1}],"updated_date":"2026-04-07T14:57:38.498316","created_date":"2025-10-10T00:00:00"}
