{"id":"https://openalex.org/W4308643048","doi":"https://doi.org/10.1145/3540250.3549114","title":"The evolution of type annotations in python: an empirical study","display_name":"The evolution of type annotations in python: an empirical study","publication_year":2022,"publication_date":"2022-11-07","ids":{"openalex":"https://openalex.org/W4308643048","doi":"https://doi.org/10.1145/3540250.3549114"},"language":"en","primary_location":{"id":"doi:10.1145/3540250.3549114","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3540250.3549114","pdf_url":null,"source":{"id":"https://openalex.org/S4363608883","display_name":"Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","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":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5029745565","display_name":"Luca Di Grazia","orcid":"https://orcid.org/0000-0002-5306-8645"},"institutions":[{"id":"https://openalex.org/I100066346","display_name":"University of Stuttgart","ror":"https://ror.org/04vnq7t77","country_code":"DE","type":"education","lineage":["https://openalex.org/I100066346"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Luca Di Grazia","raw_affiliation_strings":["University of Stuttgart, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Stuttgart, Germany","institution_ids":["https://openalex.org/I100066346"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5013438083","display_name":"Michael Pradel","orcid":"https://orcid.org/0000-0003-1623-498X"},"institutions":[{"id":"https://openalex.org/I100066346","display_name":"University of Stuttgart","ror":"https://ror.org/04vnq7t77","country_code":"DE","type":"education","lineage":["https://openalex.org/I100066346"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Michael Pradel","raw_affiliation_strings":["University of Stuttgart, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Stuttgart, Germany","institution_ids":["https://openalex.org/I100066346"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.3476,"has_fulltext":false,"cited_by_count":25,"citation_normalized_percentile":{"value":0.94023449,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"209","last_page":"220"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":1.0,"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":1.0,"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.9890000224113464,"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/T12423","display_name":"Software Reliability and Analysis Research","score":0.9830999970436096,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.818403422832489},{"id":"https://openalex.org/keywords/annotation","display_name":"Annotation","score":0.7885558605194092},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7530871629714966},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5060614943504333},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.4951712191104889},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.46277177333831787},{"id":"https://openalex.org/keywords/empirical-research","display_name":"Empirical research","score":0.41215765476226807},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.32792574167251587},{"id":"https://openalex.org/keywords/biology","display_name":"Biology","score":0.09005746245384216},{"id":"https://openalex.org/keywords/statistics","display_name":"Statistics","score":0.08632224798202515},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.07967466115951538}],"concepts":[{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.818403422832489},{"id":"https://openalex.org/C2776321320","wikidata":"https://www.wikidata.org/wiki/Q857525","display_name":"Annotation","level":2,"score":0.7885558605194092},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7530871629714966},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5060614943504333},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.4951712191104889},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.46277177333831787},{"id":"https://openalex.org/C120936955","wikidata":"https://www.wikidata.org/wiki/Q2155640","display_name":"Empirical research","level":2,"score":0.41215765476226807},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.32792574167251587},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.09005746245384216},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.08632224798202515},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.07967466115951538},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3540250.3549114","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3540250.3549114","pdf_url":null,"source":{"id":"https://openalex.org/S4363608883","display_name":"Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","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":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":39,"referenced_works":["https://openalex.org/W2009258497","https://openalex.org/W2027806980","https://openalex.org/W2065489029","https://openalex.org/W2085040115","https://openalex.org/W2086141560","https://openalex.org/W2100044779","https://openalex.org/W2116910575","https://openalex.org/W2133363731","https://openalex.org/W2149051232","https://openalex.org/W2153150125","https://openalex.org/W2156351739","https://openalex.org/W2364861723","https://openalex.org/W2515360277","https://openalex.org/W2548165777","https://openalex.org/W2549033012","https://openalex.org/W2734160466","https://openalex.org/W2767527821","https://openalex.org/W2767603763","https://openalex.org/W2799423598","https://openalex.org/W2883903648","https://openalex.org/W2888268504","https://openalex.org/W2898852138","https://openalex.org/W2899384793","https://openalex.org/W2954950681","https://openalex.org/W2955991060","https://openalex.org/W2998223243","https://openalex.org/W3006491415","https://openalex.org/W3099972168","https://openalex.org/W3100869085","https://openalex.org/W3106989382","https://openalex.org/W3163202066","https://openalex.org/W4205712307","https://openalex.org/W4226489196","https://openalex.org/W4229717394","https://openalex.org/W4238239668","https://openalex.org/W4241122238","https://openalex.org/W4284665627","https://openalex.org/W4308643019","https://openalex.org/W4313133034"],"related_works":["https://openalex.org/W2361861616","https://openalex.org/W2341492732","https://openalex.org/W2263699433","https://openalex.org/W2377979023","https://openalex.org/W3187193180","https://openalex.org/W3124814274","https://openalex.org/W2232319799","https://openalex.org/W1890971158","https://openalex.org/W4205095736","https://openalex.org/W1851509138"],"abstract_inverted_index":{"Type":[0],"annotations":[1,47,65,98,149,181],"and":[2,10,24,43,66,103,131,135,175,190],"gradual":[3,198],"type":[4,46,50,64,67,80,97,123,129,148,153,180,199],"checkers":[5],"attempt":[6],"to":[7],"reveal":[8],"errors":[9,68,154],"facilitate":[11],"maintenance":[12],"in":[13,69,109],"dynamically":[14],"typed":[15],"programming":[16],"languages.":[17],"Despite":[18],"the":[19,55,61,110,137,142,202],"availability":[20],"of":[21,60,63,78,144,197],"these":[22],"features":[23],"tools,":[25],"it":[26],"is":[27,73],"currently":[28],"unclear":[29],"how":[30],"quickly":[31],"developers":[32],"are":[33,99,162,182],"adopting":[34],"them,":[35],"what":[36],"strategies":[37],"they":[38,191],"follow":[39,118],"when":[40],"doing":[41],"so,":[42],"whether":[44],"adding":[45,179],"reveals":[48],"more":[49,101,147,152],"errors.":[51,167],"This":[52],"paper":[53],"presents":[54],"first":[56],"large-scale":[57],"empirical":[58],"study":[59,72],"evolution":[62,120],"Python.":[70],"The":[71],"based":[74],"on":[75],"an":[76],"analysis":[77],"1,414,936":[79],"annotation":[81,124],"changes,":[82],"which":[83],"we":[84],"extract":[85],"from":[86],"1,123,393":[87],"commits":[88,160],"among":[89],"9,655":[90],"projects.":[91],"Our":[92,168],"results":[93],"show":[94,170],"that":[95,136,171],"(i)":[96],"getting":[100],"popular,":[102],"once":[104],"added,":[105],"often":[106],"remain":[107],"unchanged":[108],"projects":[111,117],"for":[112,122,178,193],"a":[113,194],"long":[114],"time,":[115],"(ii)":[116],"three":[119],"patterns":[121],"usage":[125],"--":[126,134],"regular":[127],"annotation,":[128],"sprints,":[130],"occasional":[132],"uses":[133],"used":[138],"pattern":[139],"correlates":[140],"with":[141],"number":[143],"contributors,":[145],"(iii)":[146],"help":[150],"find":[151],"(0.704":[155],"correlation),":[156],"but":[157],"nevertheless,":[158],"many":[159],"(78.3%)":[161],"committed":[163],"despite":[164],"having":[165],"such":[166],"findings":[169],"better":[172,195],"developer":[173],"training":[174],"automated":[176],"techniques":[177],"needed,":[183],"as":[184],"most":[185],"code":[186],"still":[187],"remains":[188],"unannotated,":[189],"call":[192],"integration":[196],"checking":[200],"into":[201],"development":[203],"process.":[204]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":9},{"year":2024,"cited_by_count":11},{"year":2023,"cited_by_count":3}],"updated_date":"2026-06-12T08:23:45.883708","created_date":"2025-10-10T00:00:00"}
