Skip to content
PCART Bot edited this page Apr 13, 2026 · 2 revisions

PCART Wiki

Welcome to the PCART documentation!

What is PCART?

PCART is an automated tool designed to detect and repair Python API parameter compatibility issues across library version upgrades.

Features

  • Fully Automated: End-to-end automation from API extraction to repair validation
  • Comprehensive Detection: Detects 5 types of API compatibility issues
  • Multi-Platform: Supports Linux and Windows
  • Multi-Library: Works with PyTorch, NumPy, SciPy, Pillow, scikit-learn, and more

Supported Compatibility Issue Types

Type Description
Parameter Addition A new required parameter is added in the target version
Parameter Removal A parameter used in the current version is removed in the target version
Parameter Renaming A parameter is renamed between versions
Parameter Reordering Parameters are reordered in the function signature
Positional to Keyword Conversion A parameter that was positional-only becomes keyword-only

Quick Navigation

Architecture

PCART uses a three-environment architecture:

Environment Purpose Requirements
PCART Runs the PCART tool itself Python 3.9 + dill
currentEnv Runs the target project (current library version) Python 3.x + library (current version) + dill
targetEnv Runs the target project (target library version) Python 3.x + library (target version) + dill

Citation

If you use PCART in your research, please cite:

@article{PCART_TSE2025,
  author={Zhang, Shuai and Xiao, Guanping and Wang, Jun and Lei, Huashan and He, Gangqiang and Liu, Yepang and Zheng, Zheng},
  journal={IEEE Transactions on Software Engineering},
  title={PCART: Automated Repair of Python API Parameter Compatibility Issues},
  year={2026},
  volume={52},
  number={3},
  pages={723-753},
  doi={10.1109/TSE.2025.3646150}
}

Links

Clone this wiki locally