PCREQ: Automated Inference of Compatible Requirements for Python Third-party Library Upgrades
Huashan Lei, Guanping Xiao, Yepang Liu, Zheng Zheng

TL;DR
PCREQ is a novel automated approach that infers compatible requirements for Python third-party library upgrades by analyzing version and code compatibility, significantly reducing manual troubleshooting efforts.
Contribution
It introduces PCREQ, the first method combining version and code compatibility analysis to automatically infer compatible Python library requirements.
Findings
Achieves a 94.03% success rate in requirement inference.
Outperforms existing tools and LLM-based approaches by 18-22%.
Processes each upgrade scenario in approximately 61 seconds.
Abstract
Python third-party libraries (TPLs) are essential in modern software development, but upgrades often cause compatibility issues, leading to system failures. These issues fall into two categories: version compatibility issues (VCIs) and code compatibility issues (CCIs). Existing tools mainly detect dependency conflicts but overlook code-level incompatibilities, with no solution fully automating the inference of compatible versions for both VCIs and CCIs. To fill this gap, we propose PCREQ, the first approach to automatically infer compatible requirements by combining version and code compatibility analysis. PCREQ integrates six modules: knowledge acquisition, version compatibility assessment, invoked APIs and modules extraction, code compatibility assessment, version change, and missing TPL completion. PCREQ collects candidate versions, checks for conflicts, identifies API usage,…
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.
