Write a Blog >>
ICSE 2020
Wed 24 June - Thu 16 July 2020
Sat 11 Jul 2020 01:25 - 01:37 at Silla - P30-Ecosystems 2 Chair(s): Chang Xu

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 Jul

Displayed time zone: (UTC) Coordinated Universal Time change

01:05 - 02:05
P30-Ecosystems 2Technical Papers / Journal First at Silla
Chair(s): Chang Xu Nanjing University
01:05
8m
Talk
Studying the Impact of Noises in Build Breakage DataJ1
Journal First
Taher Ahmed 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
12m
Talk
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
12m
Talk
Watchman: Monitoring Dependency Conflicts for Python Library EcosystemArtifact ReusableTechnicalArtifact Available
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
12m
Talk
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