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
Times are displayed in time zone: (UTC) Coordinated Universal Time change

01:05 - 02:05: P30-Ecosystems 2Paper Presentations / Technical Papers / Journal First at Silla
Chair(s): Chang XuNanjing University
01:05 - 01:13
Talk
Studying the Impact of Noises in Build Breakage DataJ1
Journal First
Taher Ahmed GhalebQueen's University, Daniel Alencar Da CostaUniversity of Otago, Ying ZouQueen's University, Kingston, Ontario, Ahmed E. HassanQueen's University
Link to publication DOI Pre-print
01:13 - 01:25
Talk
Taming Behavioral Backward Incompatibilities via Cross-Project Testing and AnalysisTechnical
Technical Papers
Lingchao ChenThe University of Texas at Dallas, Foyzul HassanUniversity of Texas at San Antonio, USA, Xiaoyin WangUniversity of Texas at San Antonio, USA, Lingming ZhangThe University of Texas at Dallas
01:25 - 01:37
Talk
Watchman: Monitoring Dependency Conflicts for Python Library EcosystemArtifact ReusableTechnicalArtifact Available
Technical Papers
Ying WangNortheastern University, China, Ming WenHuazhong University of Science and Technology, China, Yepang LiuSouthern University of Science and Technology, Yibo WangNortheastern University, Zhenming LiNortheastern University, Chao WangUniversity of Southern California, Hai YuNortheastern University, China, Shing-Chi CheungDepartment of Computer Science and Engineering, The Hong Kong University of Science and Technology, Chang XuNanjing University, Zhiliang ZhuNortheastern University, China
01:37 - 01:49
Talk
How Has Forking Changed in the Last 20 Years? A Study of Hard Forks on GitHubTechnical
Technical Papers
Shurui ZhouCarnegie Mellon University, USA / University of Toronto, CA, Bogdan VasilescuCarnegie Mellon University, Christian K{\"a}stnerCarnegie Mellon University
Pre-print