跳到主要导航 跳到搜索 跳到主要内容

Where to Start: Studying Type Annotation Practices in Python

  • Xi'an Jiaotong University

科研成果: 书/报告/会议事项章节会议稿件同行评审

11 引用 (Scopus)

摘要

Dynamic programming languages have been embracing gradual typing, which supports optional type annotations in source code. Type-annotating a complex and long-lasting codebase is indeed a gradual and expensive process, where two issues have troubled developers. First, there is few guidance about how to implement type annotations due to the existence of non-trivial type practices; second, there is few guidance about which portion of a codebase should be type-annotated first. To address these issues, this paper investigates the patterns of non-trivial type-annotation practices and features of type-annotated code files. Our study detected six patterns of type-annotation practices, which involve recovering and expressing design concerns. Moreover, we revealed three complementary features of type-annotated files. Besides, we implemented a tool for studying optional typing practice. We suggest that: 1) design concerns should be considered to improve type annotation implementation by following at least six patterns; 2) files critical to software architecture could be type-annotated in priority. We believe these guidelines would promote a better type annotation practice for dynamic languages.

源语言英语
主期刊名Proceedings - 2021 36th IEEE/ACM International Conference on Automated Software Engineering, ASE 2021
出版商Institute of Electrical and Electronics Engineers Inc.
529-541
页数13
ISBN(电子版)9781665403375
DOI
出版状态已出版 - 2021
活动36th IEEE/ACM International Conference on Automated Software Engineering, ASE 2021 - Virtual, Online, 澳大利亚
期限: 15 11月 202119 11月 2021

出版系列

姓名Proceedings - 2021 36th IEEE/ACM International Conference on Automated Software Engineering, ASE 2021

会议

会议36th IEEE/ACM International Conference on Automated Software Engineering, ASE 2021
国家/地区澳大利亚
Virtual, Online
时期15/11/2119/11/21

学术指纹

探究 'Where to Start: Studying Type Annotation Practices in Python' 的科研主题。它们共同构成独一无二的学术指纹。

引用此