PCART: Automated Repair of Python API Parameter Compatibility Issues
Shuai Zhang, Guanping Xiao, Jun Wang, Huashan Lei, Gangqiang He, Yepang Liu, Zheng Zheng

TL;DR
PCART is an automated tool that detects and repairs Python API parameter compatibility issues, addressing a critical gap in software maintenance with high accuracy and efficiency.
Contribution
It introduces the first fully automated solution for detecting and repairing Python API parameter compatibility issues, including various change types, and evaluates it on a large benchmark.
Findings
Achieves 96.51% F1-score in issue detection
Repair precision of 91.97% on benchmark data
Outperforms existing tools and GPT-4o in effectiveness
Abstract
In modern software development, Python third-party libraries play a critical role, especially in fields like deep learning and scientific computing. However, API parameters in these libraries often change during evolution, leading to compatibility issues for client applications reliant on specific versions. Python's flexible parameter-passing mechanism further complicates this, as different passing methods can result in different API compatibility. Currently, no tool can automatically detect and repair Python API parameter compatibility issues. To fill this gap, we introduce PCART, the first solution to fully automate the process of API extraction, code instrumentation, API mapping establishment, compatibility assessment, repair, and validation. PCART handles various types of Python API parameter compatibility issues, including parameter addition, removal, renaming, reordering, and the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputational Physics and Python Applications · Scientific Computing and Data Management · Software System Performance and Reliability
