返回
PCART: Automated Repair of Python API Parameter Compatibility Issues
DOI:10.1109/TSE.2025.3646150.png)
摘要
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
期刊
IF:
5.6
论文数:
2.9K
被引数:
1.1W
机构
引用论文
DepMiner: Automatic Recommendation of Transformation Rules for Method DeprecationDepMiner:方法弃用自动推荐转换规则

