paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Automatically Resolving Dependency-Conflict Building Failures via Behavior-Consistent Loosening of Library Version Constraints

通过行为一致的库版本约束放宽自动解决依赖冲突构建失败
FSE Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering2023匹配度 1/10 · 论文关注 Python 依赖版本约束自动放宽以修复构建失败,属于软件工程/依赖管理,未涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析等用户核心方向。引用 11 inbox
Huiyan Wang, Shuguan Liu, Lingyu Zhang, Chang Xu
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 LooCo,自动放宽 Python 库版本约束,在保持行为一致下解决依赖冲突构建失败

Python 项目大量复用第三方库,其版本约束常由人工配置且易出错,进而引发依赖冲突(dependency-conflict, DC)构建失败。实证研究表明这些约束可被精细化以提升构建成功率。本文提出 LooCo,自动放宽库版本约束以最大化可解解空间,同时保持库原有行为一致(behavior-consistent),从而在避免行为破坏的前提下解决冲突。在真实 Python 项目上的实验显示,LooCo 每次版本放宽约耗时 0.4 秒,平均扩展 5.5 个新版本;可将 54.8% 原本不可解的用例转为可解(即构建成功),并使原本可解用例的解平均增加 21 个。

问题
Python 项目的库版本约束常因手工配置而出现错误,导致依赖冲突构建失败;如何自动修复这些约束以提升构建成功率。
方法
LooCo 自动放宽版本约束以最大化可解空间,同时通过行为一致性检查确保被放宽的库仍保持原有行为。
评估
在真实 Python 项目上评估:每次放宽约 0.4 秒,平均扩展 5.5 个新版本,54.8% 不可解用例转为可解,原可解用例平均多出 21 个解。
原文摘要(Abstract)

Python projects grow quickly by code reuse and building automation based on third-party libraries. However, the version constraints associated with these libraries are prone to mal-configuration, and this forms a major obstacle to correct project building (known as dependency-conflict (DC) building failure). Our empirical findings suggest that such mal-configured version constraints were mainly prepared manually, and could essentially be refined for better quality to improve the chance of successful project building. We propose a LooCo approach to refining Python projects’ library version constraints by automatically loosening them to maximize their solutions, while keeping the libraries to observe their original behaviors. Our experimental results with real-life Python projects report that LooCo could efficiently refine library version constraints (0.4s per version loosening) by effective loosening (5.5 new versions expanded on average) automatically, and transform 54.8% originally unsolvable cases into solvable ones (i.e., successful building) and significantly increase solutions (21 more on average) for originally solvable cases.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{0001LZX23,
  title = {Automatically Resolving Dependency-Conflict Building Failures via Behavior-Consistent Loosening of Library Version Constraints},
  author = {Huiyan Wang and Shuguan Liu and Lingyu Zhang and Chang Xu},
  booktitle = {FSE},
  year = {2023},
  doi = {10.1145/3611643.3616264}
}