题名 | How Do Python Framework APIs Evolve? An Exploratory Study |
作者 | |
通讯作者 | Liu,Yepang |
共同第一作者 | Zhang,Zhaoxu; Zhu,Hengcheng |
DOI | |
发表日期 | 2020-02-01
|
会议名称 | 27th International Conference on Software Analysis, Evolution, and Reengineering
|
ISSN | 1534-5351
|
ISBN | 978-1-7281-5144-1
|
会议录名称 | |
页码 | 81-92
|
会议日期 | 2020-2
|
会议地点 | London, Canada
|
出版地 | 345 E 47TH ST, NEW YORK, NY 10017 USA
|
出版者 | |
摘要 | Python is a popular dynamic programming language. In recent years, many frameworks implemented in Python have been widely used for data science and web development. Similar to frameworks in other languages, the APIs provided by Python frameworks often evolve, which would inevitably induce compatibility issues in client applications. While existing work has studied the evolution of frameworks in static programming languages such as Java, little is known on how Python framework APIs evolve and the characteristics of the compatibility issues induced by such evolution. To bridge this gap, we take a first look at the evolution of Python framework APIs and the resulting compatibility issues in client applications. We analyzed 288 releases of six popular Python frameworks from three different domains and 5,538 open-source projects built on these frameworks. We investigated the evolution patterns of Python framework APIs and found that they largely differ from those of Java framework APIs. We also investigated the compatibility issues in client applications and identified common strategies that developers adopt to fix these issues. Based on the empirical findings, we designed and implemented a tool, PC, to automatically detect compatibility issues caused by misusing evolved framework APIs in Python applications. Experiments on 10 real-world projects show that our tool can effectively detect compatibility issues of developers' concern. |
关键词 | |
学校署名 | 第一
; 共同第一
; 通讯
|
语种 | 英语
|
相关链接 | [Scopus记录] |
收录类别 | |
资助项目 | National Natural Science Foundation of China[61932021][61802164][61922003]
|
WOS研究方向 | Computer Science
|
WOS类目 | Computer Science, Software Engineering
|
WOS记录号 | WOS:000568240800008
|
EI入藏号 | 20201708531215
|
EI主题词 | Open source software
; Dynamic programming
; Application programming interfaces (API)
; Java programming language
|
EI分类号 | Computer Software, Data Handling and Applications:723
; Computer Programming Languages:723.1.1
; Optimization Techniques:921.5
|
Scopus记录号 | 2-s2.0-85083552920
|
来源库 | Scopus
|
全文链接 | https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9054800 |
引用统计 |
被引频次[WOS]:20
|
成果类型 | 会议论文 |
条目标识符 | http://sustech.caswiz.com/handle/2SGJ60CL/138260 |
专题 | 工学院_计算机科学与工程系 |
作者单位 | 1.Southern University of Science and Technology,Department of Computer Science and Engineering,Shenzhen,China 2.School of Cyber Sci. and Engr.,Huazhong Univ. of Sci. and Tech.,Wuhan,China 3.College of Comp. Sci. and Soft. Engr.,Shenzhen University,Shenzhen,China 4.EECS,Peking University,Department of Computer Science and Technology,Beijing,China |
第一作者单位 | 计算机科学与工程系 |
通讯作者单位 | 计算机科学与工程系 |
第一作者的第一单位 | 计算机科学与工程系 |
推荐引用方式 GB/T 7714 |
Zhang,Zhaoxu,Zhu,Hengcheng,Wen,Ming,et al. How Do Python Framework APIs Evolve? An Exploratory Study[C]. 345 E 47TH ST, NEW YORK, NY 10017 USA:IEEE,2020:81-92.
|
条目包含的文件 | 条目无相关文件。 |
|
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。
修改评论