arrow
返回

PCART: Automated Repair of Python API Parameter Compatibility Issues

delete2025-12-22
delete0
PRE
AI
S
Shuai Zhang
肖
肖冠平 (Guanping Xiao)
J
Jun Wang
H
Huashan Lei
G
Gangqiang He
Y
Yepang Liu
Z
Zheng Zheng
DOI:10.1109/TSE.2025.3646150delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
在现代软件开发中,Python第三方库发挥着关键作用,尤其是在深度学习和科学计算等领域。然而,这些库在演进过程中,API参数经常会发生变化,导致依赖特定版本的客户端应用程序出现兼容性问题。Python灵活的参数传递机制进一步加剧了这一问题,因为不同的传递方式可能导致不同的API兼容性。目前,尚无工具能够自动检测和修复Python API参数兼容性问题。为填补这一空白,我们引入了PCART,这是首个能够完全自动化API提取、代码插桩、API映射建立、兼容性评估、修复和验证过程的解决方案。PCART处理各种类型的Python API参数兼容性问题,包括参数的添加、删除、重命名、重新排序以及位置参数到关键字参数的转换。为评估PCART,我们构建了PCBench,这是一个大规模基准测试,包含47,478个测试用例,这些用例来自33个流行Python库中844个参数发生变化的API的变异版本。评估结果表明,PCART既有效又高效,显著优于现有工具(MLCatchUp和Relancer)以及大型语言模型ChatGPT(GPT-4o),在检测API参数兼容性问题时达到96.51%的F1分数,修复精度达到91.97%。在GitHub上对30个真实Python项目的进一步评估证实了PCART的实用性。我们相信,PCART能够显著减少程序员维护Python API更新所花费的时间,并推动Python API兼容性问题修复的自动化进程。
Keyword:
Python libraries
API parameter
compatibility issues
automated detection and repair

期刊

IEEE Transactions on Software Engineering 封面图
IEEE Transactions on Software Engineering
IF:
5.6
论文数:
2.9K
被引数:
1.1W

机构

B
beihang university
学者数:
5.2K
论文数: 2.0K
被引数: 21
N
Nanjing University of Aeronautics and Astronautics
学者数:
7.4K
论文数: 3.1K
被引数: 2.4W
S
southern university of science and technology
学者数:
4.7K
论文数: 1.7K
被引数: 0
学者 查看更多机构
引用论文

引用论文

err分享
err收藏
学者 查看更多内容