Watchman: Monitoring Dependency Conflicts for Python Library EcosystemTechnical
PyPI is a major central repository for Python projects. It has indexed millions of 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 conflict issues as dependency conflict (DC) issues. Although DC issues are common in Python projects, developers lack tool support to gain a comprehensive knowledge of the version constraints specified by different projects and diagnose the root causes of these issues. In this paper, we conducted an empirical study on 235 real-world DC issues collected from 124 popular Python projects. We studied the manifestation patterns and fixing strategies of these issues and found several key factors leading to potential 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 concerned developers. So far, 63 issues have been confirmed, of which 38 have been quickly fixed using our suggested patches.
Sat 11 JulDisplayed time zone: (UTC) Coordinated Universal Time change
01:05 - 02:05 | |||
01:05 8mTalk | Studying the Impact of Noises in Build Breakage DataJ1 Journal First Taher A Ghaleb Queen's University, Daniel Alencar Da Costa University of Otago, Ying Zou Queen's University, Kingston, Ontario, Ahmed E. Hassan Queen's University Link to publication DOI Pre-print | ||
01:13 12mTalk | Taming Behavioral Backward Incompatibilities via Cross-Project Testing and AnalysisTechnical Technical Papers Lingchao Chen The University of Texas at Dallas, Foyzul Hassan University of Texas at San Antonio, USA, Xiaoyin Wang University of Texas at San Antonio, USA, Lingming Zhang The University of Texas at Dallas | ||
01:25 12mTalk | Watchman: Monitoring Dependency Conflicts for Python Library EcosystemTechnical Technical Papers Ying Wang Northeastern University, China, Ming Wen Huazhong University of Science and Technology, China, Yepang Liu Southern University of Science and Technology, Yibo Wang Northeastern University, Zhenming Li Northeastern University, Chao Wang University of Southern California, Hai Yu Northeastern University, China, Shing-Chi Cheung Department of Computer Science and Engineering, The Hong Kong University of Science and Technology, Chang Xu Nanjing University, Zhiliang Zhu Northeastern University, China | ||
01:37 12mTalk | How Has Forking Changed in the Last 20 Years? A Study of Hard Forks on GitHubTechnical Technical Papers Shurui Zhou Carnegie Mellon University, USA / University of Toronto, CA, Bogdan Vasilescu Carnegie Mellon University, Christian Kästner Carnegie Mellon University Pre-print |