paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Watchman

Watchman:持续监控 PyPI 生态中的依赖冲突
ICSE Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering2020匹配度 1/10 · 该论文研究 Python 依赖冲突的实证分析与持续监控工具,属于软件工程/开发者工具方向;与用户关注的静态分析、LLM/Agent、浮点程序分析、贝叶斯程序分析等核心方向几乎没有直接交集。引用 67 inbox
Ying Wang, Ming Wen, Yepang Liu, Yibo Wang, Zhenming Li, Chao Wang, Hai Yu, Shing-Chi Cheung, Chang Xu, Zhiliang Zhu
crossref: 2026-09-12

AI 速览

一句话:通过实证研究揭示 Python 依赖冲突模式,并提出持续监控工具 Watchman,发现并协助修复大量冲突问题。

Python 项目常通过 PyPI 自动下载依赖,但版本约束容易相互冲突,导致构建失败,即依赖冲突(DC)问题。开发者缺乏诊断根因的工具。本文先对 235 个真实 DC 问题进行实证研究,总结其表现模式、修复策略,以及导致问题及其回归的关键因素。基于这些发现,作者设计并实现 Watchman,用于持续监控 PyPI 生态中的依赖冲突。评估中,Watchman 分析了 2019 年 7 月 11 日至 8 月 16 日间的 PyPI 快照,发现 117 个潜在 DC 问题并报告给相应项目;其中 63 个已确认,38 个通过作者建议的补丁快速修复。

问题
Python/PyPI 项目中版本约束容易冲突并导致构建失败,而开发者缺少诊断依赖冲突根因和持续监控的工具。
方法
对 235 个真实依赖冲突问题进行实证研究,总结表现模式、修复策略与关键诱因,并据此设计实现持续监控工具 Watchman。
评估
使用 2019 年 7 月 11 日至 8 月 16 日间的 PyPI 快照评估,发现 117 个潜在 DC 问题;其中 63 个获确认,38 个经建议补丁修复。
原文摘要(Abstract)

The PyPI ecosystem has indexed millions of Python libraries to allow developers to automatically download and install dependencies of their projects based on the specified version constraints. Despite the convenience brought by automation, version constraints in Python projects can easily conflict, resulting in build failures. We refer to such conflicts as Dependency Confict (DC) issues. Although DC issues are common in Python projects, developers lack tool support to gain a comprehensive knowledge for diagnosing the root causes of these issues. In this paper, we conducted an empirical study on 235 real-world DC issues. We studied the manifestation patterns and fixing strategies of these issues and found several key factors that can lead to DC issues and their regressions. Based on our findings, we designed and implemented Watchman, a technique to continuously monitor dependency conflicts for the PyPI ecosystem. In our evaluation, Watchman analyzed PyPI snapshots between 11 Jul 2019 and 16 Aug 2019, and found 117 potential DC issues. We reported these issues to the developers of the corresponding projects. So far, 63 issues have been confirmed, 38 of which have been quickly fixed by applying our suggested patches.

链接与引用

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

BibTeX
@inproceedings{paperbot5569,
  title = {Watchman},
  author = {Ying Wang and Ming Wen and Yepang Liu and Yibo Wang and Zhenming Li and Chao Wang and Hai Yu and Shing-Chi Cheung and Chang Xu and Zhiliang Zhu},
  booktitle = {ICSE},
  year = {2020},
  doi = {10.1145/3377811.3380426}
}